每當相同的欄位中有相符的值時,合併來自兩個資料表的記錄。
語法
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 子句:
選取 欄位
自 TABLE1 內部聯結 TABLE2
在 表格1上。Field1CompoprTable2。欄位1 AND
在 表格1上。Field2CompoprTable2。field2) 或
在 表格1上。Field3CompoprTable2。field3) ];
您也可以使用下列語法來巢狀處理 JOIN 陳述式:
選取 欄位
從 TABLE1 內部聯結
(table2 內部聯結 [ ( ]table3
[內部聯結 [ ( ]tablex [內部聯結 ...) ]
在 表格上 3.Field3compoprtablex。fieldx) ]
在 表格2上。Field2CompoprTable3。field3)
在 表格1上。Field1CompoprTable2。欄位2;
LEFT JOIN 或 RIGHT JOIN 可以巢狀包含在 INNER JOIN 中,但 INNER JOIN 則無法巢狀包含在 LEFT JOIN 或 RIGHT JOIN 中。