在oracle 10g 中怎样查询比自己部门平均工资高的人的信息 求大神告诉一下具体的sql语句 最好解释一下什么
1个回答
展开全部
select a.ename from emp a where a.sal>(select avg(b.sal) from emp b where a.deptno=b.deptno group by b.deptno)
括号里那部分是按部门算平均工资,然后和外表emp部门号关联,选出大于平均工资的
其实上边那句也可以怎么写的
select a.ename from emp a,
(select deptno,avg(sal) sal from emp group by deptno) b
where a.deptno=b.deptno
and a.sal>b.sal
就是括号里那句当成一个结果集,算出平均工资,然后部门号关联,找出高于自己部门平均工资的人
括号里那部分是按部门算平均工资,然后和外表emp部门号关联,选出大于平均工资的
其实上边那句也可以怎么写的
select a.ename from emp a,
(select deptno,avg(sal) sal from emp group by deptno) b
where a.deptno=b.deptno
and a.sal>b.sal
就是括号里那句当成一个结果集,算出平均工资,然后部门号关联,找出高于自己部门平均工资的人
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询