INNER JOIN 運算

每當相同的欄位中有相符的值時,合併來自兩個資料表的記錄。

語法

FROM table1 INNER JOIN table2 ON table1.field1compopr table2.field2

INNER JOIN 運算包含下列部分:

部分

描述

table1, table2

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

field1, field2

連接欄位的名稱。若非數值,則欄位必須是相同的資料類型,且儲存相同類型的資料,但名稱不必相同。

compopr

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


備註

您可以在任何 FROM 子句中使用 INNER JOIN 運算,這是最常見的聯結類型。內部聯結會在每次兩張資料表中都有的欄位的值相符時,結合來自兩個資料表的記錄。

您可以在 [部門] 和 [員工] 資料表中,使用 INNER JOIN 來選取各個部門中的所有員工。相反地,若要選取所有部門 (即使部分尚未指派任何員工) 或所有員工 (即使部分尚未指派至任何部門),您可以使用 LEFT JOIN 或 RIGHT JOIN 運算來建立外部聯結。

如果您嘗試加入含有備忘錄或是 OLE 物件資料的欄位,則會發生錯誤。

您可以聯結任兩種類型相似的數字欄位。例如,您可以聯結 [AutoNumber] 和 [Long] 欄位,因為它們的類型相似。不過,您不能聯結單精準數或雙精準數類型的欄位。

以下範例將顯示如何以 [CategoryID] 欄位聯結 [Categories] 和 [Products] 資料表:

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

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

您也可以使用下列語法,在 JOIN 陳述式中連接多個 ON 子句:

SELECT fields
FROM table1 INNER JOIN table2
ON table1.field1compoprtable2.field1 AND
ON table1.field2compoprtable2.field2) OR
ON table1.field3compoprtable2.field3)];

您也可以使用下列語法來巢狀處理 JOIN 陳述式:

SELECT fields
FROM table1 INNER JOIN
(table2 INNER JOIN [( ]table3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
ON table3.field3compoprtablex.fieldx)]
ON table2.field2compoprtable3.field3)
ON table1.field1compoprtable2.field2;

LEFT JOIN 或 RIGHT JOIN 可以巢狀包含在 INNER JOIN 中,但 INNER JOIN 則無法巢狀包含在 LEFT JOIN 或 RIGHT JOIN 中。



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

這項資訊有幫助嗎?

感謝您的意見反應!

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

×