首頁  >  文章  >  Java  >  JAVA外連接

JAVA外連接

巴扎黑
巴扎黑原創
2016-11-26 09:17:521567瀏覽

外連接分為左外連接,右外連接以及全外連接。前面我們學習的內連接獲得是滿足條件的記錄,連接查詢的表中不滿足條件的記錄被去掉。而外連接的特點是:查詢出的結果存在不符合條件的可能。 
1.左外連接 
左外連接是將左表的所有記錄查詢出來,左表中不滿足條件的記錄對應的右表中的列的值顯示為NULL。左外連接的關鍵字是:LEFT OUTER JOIN,對應的sql語句如下: 
SELECT * FROM 表1 別名1 LEFT OUTER JOIN 表2 別名2 ON 別名1.列名=別名2.列名 
其中表1就是左表,又稱為主表,表2是右表。
使用左外連接查詢出每個員工的信息以及所在部門信息,對應的查詢語句是:select * from emp e left outer join dept d on e.deptno=d.deptno, 
由查詢結果可知當左表的記錄不滿足條件時,右表的列的值為null。 
2.右外連接 
右外連接是將右表中的所有記錄查詢出來,右表中不滿足條件的記錄對應的左表中的列的值顯示為NULL。右連接的關鍵字是:RIGHT OUTER JOIN,對應的sql語句如下: 
SELECT * FROM 表1 別名1 RIGHT OUTER JOIN 表2 別名2 ON 別名1.列名=別名2.列名 
其中表1是左表,表2是右表,又稱為主表。
使用右外連接查詢出每個部門的信息,以及部門的員工信息,對應的查詢語句是:select * from emp e right outer join dept d on e.deptno=d.deptno, 
3.全外連接
全外連接對左表和右表都不做限制,所有的記錄都顯示,兩表中不滿足條件的地方用null填充。全外連接的關鍵字是:FULL OUTRE JOIN,對應的sql語句如下: 
SELECT * FROM 表1 別名1 FULL OUTER JOIN 表2 別名2 ON 別名1.列名=別名2.列名 
MySQL資料庫不支援全外連接,但是從分析來看,全外連接就是將左外連接以及右外連接的結果合併起來。
使用全外連接查詢emp表和dept表的資訊 
SELECT 

FROM 
emp e LEFT OUTER JOIN dept d 
ON 
e.deptno=d.
emp e RIGHT OUTER JOIN dept d 
ON 
    e.deptno=d.deptno 
圖1-3的查詢結果中,兩個表中不滿足條件的對應位置以null代替。 
使用左外連接查詢,左表是e1,因此e1表中的所有員工姓名都被查詢出來,e2表中不滿足條件的位置用null代替。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:物件的序列化下一篇:物件的序列化