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

語法

FROM table1 [ LEFT | RIGHT ] JOIN table2ON 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 物件] 資料的欄位,則會發生錯誤。

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。