INNER JOIN 操作

应用对象
Microsoft 365 专属 Access Access 2024 Access 2021 Access 2019 Access 2016

当通用字段中存在匹配值时从两个表中合并记录。

语法

FROM table1 INNER JOIN table2 ON table1field1compopr table2field2

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 table1field1compoprtable2field1
ON table1field2compoprtable2field2) OR
ON table1field3compoprtable2field3) ];

也可以使用以下语法嵌套 JOIN 语句:

SELECT 字段
FROM TABLE1 INNER JOIN
(table2 INNER JOIN [ ( ]table3
[INNER JOIN [ ( ]tablex [INNER JOIN ...) ]
ON table3field3compoprtablexfieldx) ]
ON table2field2compoprtable3field3)
ON table1field1compoprtable2field2;

LEFT JOIN 或 RIGHT JOIN 可以嵌套在 INNER JOIN 中,但 INNER JOIN 无法嵌套在 LEFT JOIN 或 RIGHT JOIN 中。