oracle分组查询
(本文章内容仅在windows10下经测试能够运行,不能保证其他环境下的可靠性)
基本分组查询使用场景代码如下:
---查询每个部门的平均工资 ---分组查询select后只能出现group by后的原始列和聚合函数, 否则报错 select deptno, avg(sal)---,ename from emp e group by deptno;
分组后条件判断的使用场景代码如下:
---查询平均工资大于2000的部门的平均工资 select deptno, avg(sal) from emp e group by deptno having avg(sal) > 2000;
分组前条件判断的使用场景代码如下:
---查询每个部门工资不低于800的员工的平均工资 ---条件判断不能使用别名, 否则会报错, 因为查询是在条件判断之后的, 而取别名在查询时取的 select deptno, avg(sal) from emp e where e.sal > 800 group by deptno;
分组前后均使用条件判断的使用场景代码如下:
---查询每个部门资不低于800的员工的平均工资大于2000的部门的平均工资 select deptno, avg(sal) from emp e where e.sal > 800 group by deptno having avg(sal) > 2000;
路漫漫其修远兮,吾将上下而求索。