--多列
子查询当表使用
--查询各部门工资最高的前三名
select *
from (select ename,sal,deptno,rank()over(partition by deptno order by sal desc) 排名
from emp)
where 排名<=3
--查询emp表每个部门的最高工资,最低工资,人数,平均工资
--显示(最高工资-最低工资)/人数>平均工资的三分之一的部门
select deptno,max(sal),min(sal),count(1),avg(sal)
from emp
group by deptno
having (max(sal)-min(sal))/count(1)>avg(sal)/3
或
select deptno
from (select deptno,max(sal) a,min(sal) i,count(1) c,avg(sal) v
from emp
group by deptno)
where (a-i)/c>v/3
--查询emp表每个部门的最高工资,最低工资,人数,平均工资
--显示(最高工资-最低工资)/人数的值最大的部门
select deptno
from emp
group by deptno
having (max(sal)-min(sal))/count(1)=(select max((max(sal)-min(sal))/count(1))
from emp
group by deptno)
select deptno
from (select dep