隨筆-22  評論-6  文章-17  trackbacks-0

          LEFT JOIN 和 RIGHT JOIN 運算

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

          語法

          FROM1 [ LEFT | RIGHT ] JOIN2
          ????ON 1.字段1compopr 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 主題中的子句鏈接的討論。

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


          請參閱
          FROM 子句 (Microsoft Jet SQL) UNION 運算 (Microsoft Jet SQL)
          INNER JOIN 運算 (Microsoft Jet SQL) ?

          示例

          LEFT JOIN 和 RIGHT JOIN 運算示例

          posted on 2006-09-03 11:52 surffish 閱讀(242) 評論(0)  編輯  收藏 所屬分類: 測試

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 西安市| 庄浪县| 澄城县| 宁强县| 台东市| 丰镇市| 东台市| 中牟县| 石狮市| 杭锦后旗| 天祝| 黄大仙区| 西藏| 渝中区| 鸡西市| 右玉县| 衡阳县| 板桥市| 崇义县| 嵩明县| 建德市| 涟源市| 阳高县| 朝阳县| 徐闻县| 新竹市| 洪洞县| 灌南县| 全椒县| 辽阳县| 北流市| 德保县| 鹰潭市| 江西省| 句容市| 松江区| 莎车县| 湘阴县| 昌乐县| 曲沃县| 石阡县|