当前位置: 代码迷 >> Oracle管理 >> 小白 请问一个有关问题
  详细解决方案

小白 请问一个有关问题

热度:381   发布时间:2016-04-24 05:08:58.0
小白 请教一个问题
select deptno,sal from emp where emp.sal= 
(select max(avg_sal) from (select avg(sal) avg_sal,deptno from emp group by deptno)); 这句语句为什么会显示未选定行





------解决方案--------------------

这样写就没错了
SQL code
select deptno,sal from emp where emp.sal=  (select round(max(avg_sal),2) from (select avg(sal) avg_sal,deptno from emp group by deptno));
------解决方案--------------------
SQL code
--要先明白自已的意思--分开你的来看,下面这个语句你想,取出来按部门求平均工资最大的select max(avg_sal) from (select avg(sal) avg_sal,deptno from emp group by deptno);--而你这句,是取emp中sal等于取出来的平均工资最大值的记录,但emp中没有任何一个人的工资是等于这个值的,因此是没有记录的select deptno,sal from emp where emp.sal=取出来的平均工资最大值
  相关解决方案