当通用字段中存在匹配值时从两个表中合并记录。
语法
FROM table1 INNER JOIN table2 ON table1。field1compopr table2。field2
INNER JOIN 操作包含以下部分:
| 部分 | 说明 |
|---|---|
| table1, table2 | 对其中的记录进行组合的表的名称。 |
| field1, field2 | 要联接的字段的名称。 如果字段不是数值,则字段必须具有相同的数据类型并包含相同类型的数据,但它们不必具有相同的名称。 |
| compopr | 任何关系比较运算符:“=”、“<”、“>”、“=<”、“>=”或“<>”。 |
备注
可以在任何 FROM 子句中使用 INNER JOIN 操作。 这是最常见的联接类型。 每当两个表的通用字段中存在匹配值时,内部联接将从两个表中合并记录。
可以将 INNER JOIN 用于“部门”和“员工”表以选择每个部门的所有员工。 相反,若要选择所有部门 (即使一些部门没有分配给他们) 或所有员工 (即使一些部门没有分配到部门) ,则可以使用 LEFT JOIN 或 RIGHT JOIN 操作来创建外部联接。
如果尝试联接包含 Memo 或 OLE 对象数据的字段,则会出错。
可以联接 like 类型的任何两个数值字段。 例如,可以联接 AutoNumber 和 Long 字段,因为它们为 like 类型。 但是,无法联接 Single 和 Double 类型的字段。
以下示例显示如何在 CategoryID 字段上联接“类别”和“产品”表:
SELECT CategoryName, ProductName
FROM Categories INNER JOIN Products
ON Categories.CategoryID = Products.CategoryID;
在上述示例中,CategoryID 为联接的字段,但由于 SELECT 语句中不包含该字段,因为它并未包含在查询输出中。 若要包含联接的字段,请在 SELECT 语句中包括字段名称 , 在本例中为 Categories.CategoryID。
也可以使用以下语法在 JOIN 语句中链接一些 ON 子句:
SELECT 字段
FROM table1 INNER JOIN table2
ON table1。field1compoprtable2。field1 和
ON table1。field2compoprtable2。field2) OR
ON table1。field3compoprtable2。field3) ];
也可以使用以下语法嵌套 JOIN 语句:
SELECT 字段
FROM TABLE1 INNER JOIN
(table2 INNER JOIN [ ( ]table3
[INNER JOIN [ ( ]tablex [INNER JOIN ...) ]
ON table3。field3compoprtablex。fieldx) ]
ON table2。field2compoprtable3。field3)
ON table1。field1compoprtable2。field2;
LEFT JOIN 或 RIGHT JOIN 可以嵌套在 INNER JOIN 中,但 INNER JOIN 无法嵌套在 LEFT JOIN 或 RIGHT JOIN 中。