Applies ToMicrosoft 365 专属 Access Access 2024 Access 2021 Access 2019 Access 2016

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

语法

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, ProductNameFROM Categories INNER JOIN ProductsON Categories.CategoryID = Products.CategoryID;

在上述示例中,CategoryID 为联接的字段,但由于 SELECT 语句中不包含该字段,因为它并未包含在查询输出中。 若要包含联接的字段,可在 SELECT 语句中包括字段名称 — 在本例中为 Categories.CategoryID

也可以使用以下语法在 JOIN 语句中链接一些 ON 子句:

SELECT fieldsFROM table1 INNER JOIN table2ON table1.field1compoprtable2.field1 ANDON table1.field2compoprtable2.field2) ORON table1.field3compoprtable2.field3)];

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

SELECT fieldsFROM 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 中。

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。