LEFT JOIN、RIGHT JOIN 運算

套用到
Microsoft 365 Access Access 2024 Access 2021 Access 2019 Access 2016

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

語法

來自 表1 [左 |右 ] 加入 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 陳述式中,所以並未包含在查詢結果中。 若要包含 join 欄位,請在 SELECT 語句中輸入欄位名稱——此例為 Categories.CategoryID

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

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

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