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=取出来的平均工资最大值