数据库Oracle强化练习之多表查询

论坛 期权论坛 脚本     
匿名技术用户   2020-12-27 13:39   111   0

1. 列出所有雇员的姓名及其直接上级的姓名

Select a.ename,a.mgr,b.ename,b.empno From emp a,emp b where a.mgr=b.empno(+);

2. 列出部门名称和这些部门的雇员,同时列出那些没有雇员的部门

Select dept.deptno,dname,ename From emp,dept where emp.deptno(+)=dept.deptno;

3. 显示所有部门在"NEW YORK"(dept表 loc字段)的员工姓名

Select e.ename From emp e,dept d Where e.deptno=d.deptno and d.loc=’NEW YORK’;

4. 显示员工"SMITH"的姓名,部门名称

Select e.ename,d.dname From emp e,dept d where e.deptno=d.deptno and e.ename=’SMITH’;

5. 显示员工姓名,部门名称,工资,工资级别(salgrade表 grade字段),要求工资级别大于4级

Select e.ename,d.dname,e.sal,s.grade From emp e,dept d,salgrade s where e.deptno=d.deptno and e.sal between s.losal and s.hisal and s.grade >4;

6. 显示员工"KING"和"FORD"管理的员工姓名及其经理姓名

Select e1.ename,e2.ename From emp e1,emp e2 where e1.mgr=e2.empno and (e2.ename=’KING’or e2.ename=’FORD’);

7. 显示员工名,参加工作时间,经理名,参加工作时间:参加工作时间比他的经理早

Select e1.ename,e1.hiredate,e2.ename,e2.hiredate From emp e1,emp e2 where e1.mgr=e2.empno and e1.hiredate<e2.hiredate;

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP