`
tangkuo
  • 浏览: 101089 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

oracle表查询语句优化

 
阅读更多
在实际应用中经常需要执行复杂的数据统计,经常需要显示多张表的数据。

1)数据分组-max,min,avg,sum,count
?如何显示所有员工中最高工资和最低工资
SQL> select max(sal),min(sal) from emp;

?如何显示所有员工中最高工资的所有者
SQL> select ename,sal from emp where sal=(select max(sal) from emp);

?如何显示所有员工中最高工资的所有者的全部信息
SQL> select * from emp where sal=(select max(sal) from emp);

?如何显示所有员工中最高工资和最低工资的所有者的全部信息
SQL> select * from emp where sal=(select max(sal) from emp) or sal=(select min(sal) from emp);

?显示所有员工的平均工资和工资总和
SQL> select avg(sal),sum(sal) from emp;

?计算共有多少员工
SQL> select count(*) from emp;

?计算共有多少个员工有上级
SQL> select count(mgr) from emp;



拓展要求:
?请显示工资最高的员工的名字,工作岗位
SQL> select ename,job from emp where sal=(select max(sal) from emp);

?请显示工资高于平均工资的员工信息
SQL> select * from emp where sal>(select avg(sal) from emp);



1)group by和having子句
group by用于对查询的结果分组统计
having子句用于限制分组显示结果

?如何显示每个部门的平均工资和最高工资
SQL> select avg(sal),max(sal),deptno from emp group by deptno;
意思就是按部门来进行相关的计算

?显示每个部门的每种岗位的平均工资和最低工资
SQL> select avg(sal),min(sal),deptno,job from emp group by deptno,job order by deptno;

?显示每个部门的每个岗位的平均工资、最低工资、最高工资、岗位的人数
SQL> select avg(sal),min(sal),max(sal),count(sal),deptno,job from emp group by deptno,job order by deptno;

?显示平均工资低于2000的部门号和它的平均工资(使用having)
SQL> select avg(sal),deptno from emp group by deptno having avg(sal)<2000;

having的作用就是做二次筛选

?显示岗位有MANAGER的部门和它的最大工资和最小工资
SQL> select avg(sal),min(sal),max(sal),deptno,job from emp group by deptno,job having job='MANAGER';

?显示平均工资高于2000并且有PRESIDENT岗位的部门号
SQL> select deptno from emp group by deptno,job having avg(sal)>2000 and job='PRESIDENT';
分享到:
评论

相关推荐

    Oracle 多表查询优化

    Oracle 多表查询优化 Oracle 多表查询优化是指在 Oracle 数据库管理系统中,为了提高多表查询的效率和性能采取的一些优化策略和技术。在 Oracle 中,多表查询是指从多个表中检索数据的操作。这种操作可能会占用大量...

    oracle查询语句优化

    ### Oracle查询语句优化知识点详解 #### 一、概述 Oracle数据库因其强大的功能和灵活性,在企业级应用中占据着重要地位。随着业务的发展,数据库的数据量急剧增长,如何提高查询效率成为了亟需解决的问题之一。本文...

    ORACLE多表查询优化

    Oracle 多表查询优化需要考虑多个方面,包括选择合适的表名顺序、使用 Cache Buffer、语句共享、优化查询路径、避免多表连接查询、优化数据统计、选择合适的索引、优化数据库结构、使用 Materialized View、优化...

    自动生成oracle数据库表分析语句

    在Oracle数据库管理中,定期进行表分析对于优化查询性能至关重要。通过分析表和索引,Oracle可以更新统计信息,这些信息将被查询优化器用于选择最佳的执行计划。本文将详细介绍如何自动生成表分析SQL语句和索引分析...

    ORACLE表空间 状态查询语句

    ### ORACLE表空间状态查询语句详解 在Oracle数据库管理中,了解表空间的状态对于确保数据的可用性和系统的稳定性至关重要。本文将详细解析一个用于查询Oracle 10g表空间状态的SQL语句,并深入探讨其中涉及的关键...

    Oracle数据库中大型表查询优化的研究

    在Oracle数据库中,大型表查询优化是一个至关重要的主题,尤其对于处理海量数据的企业级应用而言。Oracle数据库以其高效、稳定和强大的功能著称,但在处理大规模数据时,如果不进行适当的优化,查询性能可能会显著...

    update语句的优化-oracle .pdf

    在本篇文档中,作者详细总结了在实际项目中针对Oracle数据库的update语句优化的四种方案。以下是对这四种方案的知识点进行详细的阐述: 1. 标准update语法优化: 当面对单表更新或较简单的SQL语句时,可以直接使用...

    oracle 中SQL语句优化

    oracle中SQL语句优化

    ORACLE中SQL查询语句的优化.pdf

    驱动表是ORACLE中查询语句优化的另一个重要手段,它可以影响查询路径的选择。根据经验准则,我们可以选择合适的驱动表,例如使用 RowID 的驱动表可以提高查询效率,而使用唯一索引的驱动表可以提高查询速度。 三、...

    oracle数据库查询语句的优化研究.pdf

    在进行Oracle数据库查询语句优化时,通常需要结合执行情况统计,如文中提到的表3所示,通过对比不同查询方式的时间和性能,找出优化的空间。同时,持续学习和研究最新的数据库技术,如多维集群(MDC)、表分区(TP)...

    超酷30个Oracle语句优化规则详解

    ### 超酷30个Oracle语句优化规则详解 #### 一、选用适合的Oracle优化器 在Oracle数据库中,优化器的选择对于查询性能至关重要。Oracle提供了三种优化器模式来帮助用户根据实际情况选择最合适的执行计划: 1. **...

    Oracle——sql语句优化

    通过合理选择操作符、优化查询结构、遵循最佳实践,可以在很大程度上提升Oracle数据库的查询效率,为用户提供更快捷、更稳定的服务体验。在实际操作中,开发者和DBA应持续关注查询性能,不断调整和优化SQL语句,以...

    Oracle语句优化规则汇总.pdf

    这篇文档“Oracle语句优化规则汇总.pdf”很可能提供了关于如何提高Oracle数据库查询效率、减少资源消耗的关键信息。以下是一些可能涵盖在文档中的关键知识点: 1. **索引优化**: - 使用合适的索引类型,如B树索引...

    ORACLE数据库SQL语句编写优化总结.rar

    2. **SQL语句优化技巧**: - **选择适当的WHERE子句**:使用索引来提高查询速度,避免全表扫描。 - **使用绑定变量**:避免SQL注入,提高执行计划的重用率。 - **减少数据访问**:精确选择需要的列,避免SELECT *...

    Oracle语句优化规则汇总

    本文将深入探讨Oracle语句优化的若干关键规则,帮助你提升数据库的运行效率。 1. **选择正确的索引策略**:索引是提升查询速度的关键。为经常出现在WHERE子句中的列创建索引可以显著加速查询。B树索引适用于等值...

    Oracle语句优化53个规则详解

    ### Oracle语句优化53个规则详解 #### 一、选用适合的Oracle优化器 在Oracle数据库中,优化器的选择对于SQL语句的执行效率至关重要。Oracle提供了三种优化器模式: 1. **基于规则的优化器(RULE)**:这是一种较...

    Oracle导出INSERT语句

    在数据库管理中,有时我们需要将数据从一个环境迁移到另一个环境,或者备份某些表的数据,这时“Oracle导出INSERT语句”的工具就显得非常实用。 这个小工具的核心功能是将Oracle数据库中的数据转换为一系列的INSERT...

    性能优化案例分析与Oracle语句优化53个规则详解

    在"Oracle语句优化53个规则详解"中,可能包括了如何避免全表扫描、合理使用索引、减少表连接、优化子查询、避免在where子句中使用否定操作符等多方面的内容。例如,通过使用绑定变量可以避免硬解析,提高SQL执行效率...

Global site tag (gtag.js) - Google Analytics