1.理論 只要兩個表的公共字段有匹配值,就將這兩個表中的記錄組合起來。 個人理解:以一個共同的字段求兩個表中符合要求的交集,并將每個表符合要求的記錄以共同的字段為牽引合并起來。 語法 FROM table1 INNER JOIN table2 ON table1 . field1 compopr table2 . field2 INNER JOIN 操作包含以下部分:
說明 可以在任何 FROM 子句中使用 INNER JOIN 操作。這是最常用的聯(lián)接類型。只要兩個表的公共字段上存在相匹配的值,Inner 聯(lián)接就會組合這些表中的記錄。 可以將 INNER JOIN 用于 Departments 及 Employees 表,以選擇出每個部門的所有雇員。而要選擇所有部分(即使某些部門中并沒有被分配雇員)或者所有雇員(即使某些雇員沒有分配到任何部門),則可以通過 LEFT JOIN 或者 RIGHT JOIN 操作來創(chuàng)建外部聯(lián)接。 如果試圖聯(lián)接包含備注或 OLE 對象數(shù)據(jù)的字段,將發(fā)生錯誤。 可以聯(lián)接任何兩個相似類型的數(shù)字字段。例如,可以聯(lián)接自動編號和長整型字段,因為它們均是相似類型。然而,不能聯(lián)接單精度型和雙精度型類型字段。 下例展示了如何通過 CategoryID 字段聯(lián)接 Categories 和 Products 表: SELECT CategoryName, ProductName FROM Categories INNER JOIN Products ON Categories.CategoryID = Products.CategoryID; 在前面的示例中,CategoryID 是被聯(lián)接字段,但是它不包含在查詢輸出中,因為它不包含在 SELECT 語句中。若要包含被聯(lián)接字段,請在 SELECT 語句中包含該字段名,在本例中是指 Categories.CategoryID。 也可以在 JOIN 語句中鏈接多個 ON 子句,請使用如下語法: SELECT fields 也可以通過如下語法嵌套 JOIN 語句: SELECT fields LEFT JOIN 或 RIGHT JOIN 可以嵌套在 INNER JOIN 之中,但是 INNER JOIN 不能嵌套于 LEFT JOIN 或 RIGHT JOIN 之中。
2.操作實例 表A記錄如下: 3.inner join sql語句如下: select * from A innerjoin B on A.aID = B.bID 結(jié)果如下: aID aNum bID bName 1 a20050111 1 2006032401 2 a20050112 2 2006032402 3 a20050113 3 2006032403 4 a20050114 4 2006032404 結(jié)果說明: 很明顯,這里只顯示出了 A.aID = B.bID的記錄.這說明inner join并不以誰為基礎(chǔ),它只顯示符合條件的記錄. |