LEFT JOIN、RIGHT JOIN 運算

在用於任何 FROM 子句中時,合併來源資料表記錄。

語法

FROM table1 [ LEFT | RIGHT ] JOIN table2
ON table1.field1compopr table2.field2

LEFT JOIN 和 RIGHT JOIN 運算由下列各部分組成:

部分

描述

table1, table2

結合記錄的來源資料表名稱。

field1, field2

連接欄位的名稱。欄位必須有相同資料類型且含有相同種類的資料,但是不必有相同名稱。

compopr

任何關聯性比較運算子:"="、"<"、">"、"<="、">=" 或 "<>"。


備註

使用 LEFT JOIN 運算建立左方外部聯結。左方外部聯結包含來自兩個資料表的第一個 (左方) 的所有記錄,即使第二個 (右方) 資料表中的記錄沒有相符的值。

使用 RIGHT JOIN 運算建立右方外部聯結。右方外部聯結包含來自兩個資料表的第二個 (右方) 的所有記錄,即使第一個 (左方) 資料表中的記錄沒有相符的值。

例如,您可以在 [部門] (左方) 和 [員工] (右方) 資料表中使用 LEFT JOIN 以選取所有部門,包括未獲派員工的部門。若要選取所有員工 (包括未指派給部門的員工),則使用 RIGHT JOIN。

下列範例顯示如何以 [CategoryID] 欄位聯結 [Categories] 和 [Products] 資料表。查詢會產生所有類別的清單,包括沒有包含產品的類別:

SELECT CategoryName, ProductName FROM Categories LEFT JOIN Products ON Categories.CategoryID = Products.CategoryID;

在此範例中,聯結欄位是 [CategoryID],但因為它不在 SELECT 陳述式中,所以並未包含在查詢結果中。若要包含聯結欄位,請在 SELECT 陳述式中輸入欄位名稱,也就是此範例中的 Categories.CategoryID

附註: 

若要建立只包含聯結欄位中資料相同的記錄之查詢,請使用 INNER JOIN 運算。

  • LEFT JOIN 或 RIGHT JOIN 能以巢狀方式置於 INNER JOIN 中,但 INNER JOIN 則無法以巢狀方式置於 LEFT JOIN 或 RIGHT JOIN 中。請參閱 INNER JOIN 主題中的巢狀包含相關探討,了解如何在其他聯結內巢狀聯結。

  • 您可以連結多個 ON 子句。請參閱 INNER JOIN 主題中的子句連結相關探討,了解其做法。

如果您嘗試聯結含有 [備忘] 或 [OLE 物件] 資料的欄位,則會發生錯誤。



擴展您的技能
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×