LEFT JOIN 和 RIGHT JOIN 運算 (Microsoft Jet SQL)

此頁沒有內容條目
內容

LEFT JOIN 和 RIGHT JOIN 運算

用于 FROM 子句時,把源表記錄組合起來。

語法

FROM表1 [ LEFT | RIGHT ] JOIN表2

   ON 表1.字段1 compopr 表2. 字段2

LEFT JOIN 及 RIGHT JOIN 運算可分為以下幾個部分:

部分

說明

table1, table2

記錄被組合的表的名稱。

field1, field2

被聯(lián)接的字段的名稱。且這些字段必須有相同的數據類型及包含相同類型的數據,但它們不需要有相同的名稱。

compopr

任何的關系比較運算子:"=," "<," ">," "<=," ">=," 或 "<>."

 

說明

用 LEFT JOIN 運算 創(chuàng)建左邊外部聯(lián)接.左邊外部聯(lián)接將包含了從第一個(左邊)開始的兩個表中的全部記錄,即使在第二個(右邊)表中并沒有相符值的記錄。

用RIGHT JOIN 運算 創(chuàng)建 右邊外部聯(lián)接.右邊外部聯(lián)接將包含了從第二個(右邊)開始的兩個表中的全部記錄,即使在第一個(左邊)表中并沒有匹配值的記錄。

例如,可以使用 LEFT JOIN 與部門(左邊)及員工(右邊)表來選擇所有的部門,包含了沒有分配到員工的部門??梢允褂?RIGHT JOIN 選擇所有的員工,包含了沒有分配到部門的員工。

下列示例顯示如何在類標識符字段中聯(lián)接類表及產品表。查詢將會列出所有種類的列表,包含那些沒有產品在其中的種類:

SELECT CategoryName,

ProductName

FROM Categories LEFT JOIN Products

ON Categories.CategoryID = Products.CategoryID;

在本例中,CategoryID 是聯(lián)接的字段,但由于它不包含在 SELECT 語句中,因此,也不包含在查詢結果中。要包含聯(lián)接的字段,請在 SELECT 語句中輸入字段名 — 在這個示例中為 Categories.CategoryID。


注意

欲創(chuàng)建只包含聯(lián)接字段中數據相同的記錄的查詢,請用 INNER JOIN 運算。

?在 INNER JOIN 之中可以寫一個嵌套的 LEFT JOIN 或一個 RIGHT JOIN,但是在一個 LEFT JOIN 或一個 RIGHT JOIN 之中不能寫嵌套的 INNER JOIN。請參閱 INNER JOIN 主題中有關使用嵌套的討論,從其中可獲知如何在其它聯(lián)接中編寫嵌套聯(lián)接的信息。
?可以鏈接多個 ON 子句。若需更多信息,請參閱在 INNER JOIN 主題中的子句鏈接的討論。

若試圖聯(lián)接包含 MemoOLE Object數據的字段,會導致錯誤。


請參閱

FROM 子句 (Microsoft Jet SQL)

UNION 運算 (Microsoft Jet SQL)

INNER JOIN 運算 (Microsoft Jet SQL)

 

 

示例

LEFT JOIN 和 RIGHT JOIN 運算示例