oracle自连接


自连接是指在同一张表的连接查询

?       显示员工的上级领导的姓名,比如显示‘FORD’的上级

①查询出FORD这个人的上级编号:

select mgr from emp where ename='FORD';

②显示上级的信息:

select * from emp where empno=(select mgr from emp where ename='FORD');

扩展要求

?       显示各员工的姓名和他的上级领导姓名

思路:把emp表看做两张表(worker,boss)

select worker.ename,boss.ename from emp worker,emp boss where worker.mgr=boss.empno;

疑惑:这里我们看到KING没有显示,因为KING没有上级,如果我们希望把没有上级的人也显示出来,则需要使用外连接。

select worker.ename,boss.ename from emp worker,emp boss where worker.mgr=boss.empno(+);


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM