oracle表查询语句优化
来源:互联网 发布:nodejs高级编程 pdf 编辑:程序博客网 时间:2024/06/08 02:03
在实际应用中经常需要执行复杂的数据统计,经常需要显示多张表的数据。
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岗位的部门号
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';
获取【下载地址】 QQ: 313596790 【免费支持更新】
支持三大数据库 mysql oracle sqlsever 更专业、更强悍、适合不同用户群体
【新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统】
0 0
- oracle表查询语句优化
- oracle查询语句优化
- oracle查询语句优化
- oracle查询语句优化
- Oracle 查询优化器 -- 改写查询语句
- oracle查询优化之sql语句优化
- Oracle-表查询语句
- Oracle的分页查询语句优化
- Oracle数据库分页查询语句与优化
- oracle中sql语句查询优化(一)
- oracle中sql语句查询优化(二)
- oracle中sql语句查询优化(三)
- oracle中sql语句查询优化(四)
- oracle中sql语句查询优化(五)
- oracle中sql语句查询优化(六)
- oracle中sql语句查询优化(七)
- Oracle表关联查询语句
- oracle 多表查询语句
- infix2postfix
- Linux下多线程编程遇到的一些问题
- 137. Single Number II
- Java day07 多态示例 主板接口
- MySQL关联查询
- oracle表查询语句优化
- 3.19
- React Native android真机运行时候 界面一片空白
- 96. Unique Binary Search Trees
- Android FragmentManage FragmentTransaction介绍
- 3.20
- Java多线程(一)
- 3.21
- pthread_mutex_t and pthread_cond 混合使用