LEFT JOIN、RIGHT JOIN 操作

如果在 FROM 子句中使用了源表记录,请将这些记录合并在一起。

语法

FROM table1 [ LEFT | RIGHT ] JOIN table2
ON table1.field1compopr table2.field2

LEFT JOIN 和 RIGHT JOIN 操作包含以下部分:

部分

说明

table1, table2

对其中的记录进行组合的表的名称。

field1, field2

要联接的字段的名称。这些字段必须属于相同的数据类型,并且包含相同种类的数据,但它们不需要有相同的名称

compopr

任何关系比较运算符:“=”、“<”、“>”、“<=”、“>=”或“<>”。


备注

使用 LEFT JOIN 操作来创建 左外部联接。左外部联接包含两表中第一个表(左)中的所有记录,即使没有与第二个(右)表中的记录相匹配的值也是如此。

使用 RIGHT JOIN 操作来创建 右外部联接。右外部联接包含两表中第二个表(右)中的所有记录,即使没有与第一个(左)表中的记录相匹配的值也是如此。

例如,可以将 LEFT JOIN 用于“部门”表(左)和“员工”表(右),以选择所有部门,包括那些未分配有员工的部门。若要选择所有员工,包括那些未分配到任一部门的员工,就要使用 RIGHT JOIN。

以下示例演示如何通过 CategoryID 字段将“类别”表和“产品”表联接起来。该查询会生成一个含所有类别的列表,包括那些不含任何产品的类别:

SELECT CategoryName, ProductName FROM Categories LEFT JOIN Products ON Categories.CategoryID = Products.CategoryID;

在此示例中,CategoryID 是联接的字段,但由于 SELECT 语句中不包含该字段,所以查询结果中也不包含该字段。若要包含联接的字段,可在 SELECT 语句中输入字段名称 — 在本例中为 Categories.CategoryID

注意: 

如果希望创建的查询只包含那些联接字段数据相同的记录,可使用 INNER JOIN 操作。

  • LEFT JOIN 或 RIGHT JOIN 可以嵌套在 INNER JOIN 中,但 INNER JOIN 无法嵌套在 LEFT JOIN 或 RIGHT JOIN 中。请参阅 INNER JOIN 主题中有关嵌套的内容,了解如何将联接嵌套在其他联接中。

  • 可以链接多个 ON 子句。请参阅 INNER JOIN 主题中有关链接字句的内容,了解如何链接字句。

如果尝试联接包含备注 Memo 或 OLE 对象数据的字段,就会出错。



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

此信息是否有帮助?

谢谢您的反馈!

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

×