SQL RIGHT JOIN

SQL RIGHT JOIN

RIGHT JOIN 返回右表 (table2) 的所有行,以及左表 (table1) 中匹配的行。

如果左表中没有匹配的行,则左表中各列的结果将为 NULL

RIGHT JOINRIGHT OUTER JOIN 关键字是等价的 - OUTER 关键字是可选的。

SQL RIGHT JOIN

RIGHT JOIN 语法

SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name = table2.column_name;

演示数据库

下面是 Orders 表中的片段:

OrderID CustomerID EmployeeID OrderDate ShipperID
10308 2 7 1996-09-18 3
10309 37 3 1996-09-19 1
10310 77 8 1996-09-20 2

以及 Employees 表中的片段:

EmployeeID LastName FirstName BirthDate Photo
1 Davolio Nancy 12/8/1968 EmpID1.pic
2 Fuller Andrew 2/19/1952 EmpID2.pic
3 Leverling Janet 8/30/1963 EmpID3.pic

SQL RIGHT JOIN 示例

以下 SQL 语句将返回所有员工以及他们可能下的任何订单:

实例

SELECT Orders.OrderID, Employees.LastName, Employees.FirstName
FROM Orders
RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID
ORDER BY Orders.OrderID;

亲自试一试

注意:RIGHT JOIN 关键字返回右表 (Employees) 的所有记录,即使左表 (Orders) 中没有匹配项。