数据库查询:列出各个部门中工资高于本部门平均工资的员工信息,并按部门号排序。

列出各个部门中工资高于本部门平均工资的员工信息,并按部门号排序。

select a.deptno,count(*) from emp as a,
(select deptno,avg(sal) as avgsal from emp group by deptno) as b
where a.deptno=b.deptno
and a.sal>b.avgsal
group by a.deptno
order by a.deptno

表名为emp,
部门号为deptno

(select deptno,avg(sal) as avgsal from emp group by deptno) as b
这个是查询每个部门的平均工资,并把这个结果集命名为b
然后关联emp表查询
where a.deptno=b.deptno and a.sal>b.avgsal
这个就是在部门号相同的情况下,查找工资大于平均公司的人
最后count(*)就是总人数,排序就正常order by 就OK

    原文作者:Vince Li
    原文地址: https://blog.csdn.net/weixin_43250623/article/details/90601843
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞