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 | 被聯接的字段的名稱。且這些字段必須有相同的 數據類型 及包含相同類型的數據,但它們不需要有相同的名稱。 |
compopr | 任何的關系比較運算子:"=," "<," ">," "<=," ">=," 或 "<>." |
說明
用 LEFT JOIN 運算 創建 左邊外部聯接 .左邊外部聯接將包含了從第一個(左邊)開始的兩個表中的全部記錄,即使在第二個(右邊)表中并沒有相符值的記錄。
用RIGHT JOIN 運算 創建 右邊外部聯接 .右邊外部聯接將包含了從第二個(右邊)開始的兩個表中的全部記錄,即使在第一個(左邊)表中并沒有匹配值的記錄。
例如,可以使用 LEFT JOIN 與部門(左邊)及員工(右邊)表來選擇所有的部門,包含了沒有分配到員工的部門。可以使用 RIGHT JOIN 選擇所有的員工,包含了沒有分配到部門的員工。
下列示例顯示如何在類標識符字段中聯接類表及產品表。查詢將會列出所有種類的列表,包含那些沒有產品在其中的種類:
SELECT CategoryName,
ProductName
FROM Categories LEFT JOIN Products
ON Categories.CategoryID = Products.CategoryID;
在本例中,CategoryID 是聯接的字段,但由于它不包含在 SELECT 語句中,因此,也不包含在查詢結果中。要包含聯接的字段,請在 SELECT 語句中輸入字段名 — 在這個示例中為 Categories.CategoryID。
注意
欲創建只包含聯接字段中數據相同的記錄的查詢,請用 INNER JOIN 運算。
- 在 INNER JOIN 之中可以寫一個嵌套的 LEFT JOIN 或一個 RIGHT JOIN,但是在一個 LEFT JOIN 或一個 RIGHT JOIN 之中不能寫嵌套的 INNER JOIN。請參閱 INNER JOIN 主題中有關使用嵌套的討論,從其中可獲知如何在其它聯接中編寫嵌套聯接的信息。
- 可以鏈接多個 ON 子句。若需更多信息,請參閱在 INNER JOIN 主題中的子句鏈接的討論。
若試圖聯接包含 Memo 或 OLE Object 數據的字段,會導致錯誤。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
