标签:oracle
1.题目:找到薪水大于本部门平均薪水的员工。
select ename from emp e1 where sal>(select avg(sal) from emp e2 where e1.deptno=e2.deptno);
2.题目:找到员工表中工资最高的前三名的员工信息
思路:
1)先按照工资排序查询出数据
2)再把查询出的数据当做一个表
3)再查询这个表中的前三条数据
select * from (select sal from emp order by desc) where rownum<=3;
rownum是一个伪列,表示记录在结果集中的行号。
1,rownum一旦生成,就不会变化(会先按没有排序时的默认顺序生成rownum,然后再执行排序)。
2,对于rownum,只能使用<与<=,不能使用>与>=与=。
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:oracle
原文地址:http://blog.csdn.net/u014010769/article/details/47670361