INNER JOIN 操作

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

语法

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 fields
FROM table1 INNER JOIN table2
ON table1.field1compoprtable2.field1 AND
ON table1.field2compoprtable2.field2) OR
ON table1.field3compoprtable2.field3)];

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

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



扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×