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