码迷,mamicode.com
首页 > 数据库 > 详细

几个oracle练习题

时间:2018-04-01 10:40:20      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:编码   div   bsp   哪些   gpo   oracl   练习题   mgr   order by   

--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;

几个oracle练习题

标签:编码   div   bsp   哪些   gpo   oracl   练习题   mgr   order by   

原文地址:https://www.cnblogs.com/AlohaBill/p/8684884.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!