--1. 查询哪个部门的平均工资是最高的, 列出部门编码平均工资
select deptno,avg(sal) from emp group by deptno having avg(sal)=(select max(avg(sal)) from emp group by deptno);
--2. 列出各个部门中工资最高的员工的信息: 名字部门号工资
- select emp.ename,emp.deptno,emp.sal
- from emp,(select deptno t_dept,max(sal) t_maxsal from emp group by deptno) tab1
- where emp.deptno=tab1.t_dept and emp.sal=tab1.t_maxsal;
--3. 查询上级是 KING 的员工姓名 (ename) 和工资(sal)
select ename,sal from emp where mgr=(select empno from emp where ename=KING);
--4. 查询部门所在地 (loc) 为 NEW YORK 的部门的员工的姓名 (ename), 部门名称(dname) 和岗位名称(job)
select ename,deptno,job from emp where deptno=(select deptno from dept where loc=NEW YORK);
--5. 查询工资比公司平均工资高的所有员工的员工号 (empno), 姓名(ename) 和工资(sal)
select empno,ename,sal from emp where sal>(select avg(sal) from emp);
--6. 查询姓名中包含字母 u 的员工在相同部门的员工的员工号 (empno) 和姓名(ename)
select empno,ename from emp where deptno=(select deptno from emp where ename like %U%);
--7. 查询哪些员工的薪水比本部门的平均薪水低
- select emp.*
- from emp,(select deptno,avg(sal) avg_sal from emp group by deptno) tab
- where emp.deptno=tab.deptno and emp.sal<tab.avg_sal;
--8. 查询 emp 表前 5 条记录
select * from (select emp.*,rownum rn from emp ) tab1 where tab1.rn<=5;
--9. 查询第 3-5 条记录, 无需排序
select * from (select emp.*,rownum rn from emp ) tab1 where tab1.rn between 3 and 5;
--10. 查询公司工资最高的三个人
- select * from (
- select tab1.*,rownum rn from (select emp.* from emp order by sal desc)tab1)tab2 where tab2.rn<=3;
--11. 查询公司工资最低的五个人
- select * from (
- select tab1.*,rownum rn from (select emp.* from emp order by sal asc)tab1)tab2 where tab2.rn<=5;
来源: http://www.bubuko.com/infodetail-2545957.html