Access 2003完整教程:LEFT JOIN、RIGHT JOIN 操作

在任何 FROM 子句中用于组合源表记录。

语法

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

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

部分说明
table1, table2要组合其中记录的表的名称。
field1, field2被联接的字段的名称。这些字段必须具有相同的数据类型,并且包含相同类型的数据,但它们不必同名。
compopr任何关系比较运算符:“=”、“<”、“>”、“<=”、“>=”或 “<>”。

说明

通过 LEFT JOIN 操作可以创建一个左外部联接。左外部联接包含两个表中第一个(左)表中的所有记录,即使在第二个(右)表中没有匹配的记录值。

通过 RIGHT JOIN 操作可以创建一个右外部联接。右外部联接包含两个表中第二个(右)表中的所有记录,即使在第一个(左)表中没有匹配的记录值。

例如,可以将 LEFT JOIN 用于 Departments(左)和 Employees(右)表以选择所有部门,包括那些没有被分配雇员的部门。若要选择所有雇员,包括那些没有被分配到任何部门的雇员,可以使用 RIGHT JOIN。

下面的示例展示了如何通过 CategoryID 字段联接 Categories 表和 Products 表。该查询将产生一个所有分类的列表,其中包括不包含任何产品的分类:

SELECT CategoryName,

ProductName

FROM Categories LEFT JOIN Products

ON Categories.CategoryID = Products.CategoryID;

在这个示例中,CategoryID 是被联接字段,但是它不包括在查询结果中,因为它没有包括在 SELECT 语句中。若要包括被联接的字段,请在 SELECT 语句中输入字段名,在这个示例中是Categories.CategoryID

注释

若要创建一个只包括在被联接字段中具有相同数据的记录,请使用 INNER JOIN 操作。

如果试图联接包含了备注OLE 对象数据的字段,将产生错误。

请参阅
FROM 子句 UNION 操作
INNER JOIN 操作

上页:Access 2003完整教程:Microsoft Jet SQL 和 ANSI SQL 的比较 下页:Access 2003完整教程:Like 运算符

Access 2003完整教程:LEFT JOIN、RIGHT JOIN 操作

Access 2003完整教程:Like 运算符Access 2003完整教程:Min、Max 函数
Access 2003完整教程:ODBC Scalar 函数Access 2003完整教程:ORDER BY 子句
Access 2003完整教程:PARAMETERS 声明Access 2003完整教程:PROCEDURE 子句
Access 2003完整教程:REVOKE 语句Access 2003完整教程:SELECT 语句
Access 2003完整教程:SELECT...INTO 语句Access 2003完整教程:StDev、StDevP 函数
Access 2003完整教程:SQL 子查询Access 2003完整教程:Sum 函数
Access 2003完整教程:TRANSACTION 语句Access 2003完整教程:TRANSFORM 语句
Access 2003完整教程:UNION 操作Access 2003完整教程:UPDATE 语句
Access 2003完整教程:在字符串比较中使用通配符Access 2003完整教程:Var、VarP 函数
Access 2003完整教程:WHERE 子句Access 2003完整教程:WITH OWNERACCESS OPTION 声明
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号