如果在 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 对象数据的字段,就会出错。



Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Office Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×