多表查詢:查詢結果需要用到兩個或者以上表,此時需要多表連接,產生多表查詢
1、內連接(等值連接)
示例:將連個表內容連接顯示
select * from dept d, emp e where d.deptno = e.deptno;
注意:只有當d.deptno = e.deptno條件滿足,內容才會顯示,否則不顯示
2 、外連接:讓等值判斷左右兩邊有一邊的數據可以全部顯示出來,使用外連接方式時使用”(+)”
格式:
左外連接:字段=字段(+)
右外連接:字段(+)=字段
示例:顯示雇員的姓名,職位和領導姓名
分析:
確認要使用的數據:
1、 emp表的雇員姓名,職位(別名為e)
2、 emp表的領導姓名(別名為m)
確認相連的關系:
e.mgr = m.empno;
如果某個雇員沒有領導的時候,其內容將會顯示不出來,此時需要用外連接,讓其中一邊的表在沒有領導的情況下,也可以顯示出來。
左、右外連接可以不區分,但是最重要的是把要顯示的內容顯示出來就行。
select e.ename, e.job, m.ename from emp e, emp m where e.mgr = m.empno(+);