日期:2014-05-17  浏览次数:20659 次

关于SQL语句
大家好,我这有个题目 查询工资为某个部门平均工资的员工的信息

我是这样写的

select deptno,empno,ename,sal,job from emp where sal in(select avg(sal) from emp group by deptno);

结果运行不出来,显示“未选定行”。我是个oracle初学者,对很多东西都不是很熟

想请教一下。谢谢!



------解决方案--------------------
select deptno,avg(sal) from emp group by deptno
------解决方案--------------------
显示“未选定行”。表示没有符合你条件的数据
------解决方案--------------------
如果只是显示部门和平均工资 3L就可以了
------解决方案--------------------
select deptno,empno,ename,sal,job from emp where sal =(select avg(sal) from emp );
这样写更简洁,显示“未选定行”,是不是因为没有符合条件的记录
select deptno,empno,ename,sal,job from emp where sal <=(select avg(sal) from emp );
看有没有结果

------解决方案--------------------
select deptno,empno,ename,sal,job from emp a,
(select deptno,avg(sal) as avgsal from emp
group by deptno) b
where a.deptno=b.deptno and a.sal=b.avgsal