最新的Web开发教程
 

SQL LEFT JOIN关键字


SQL LEFT JOIN关键字

在LEFT JOIN关键字返回左表(表1)中的所有行,在右表(表2)匹配的行。 其结果是在右侧空当不存在匹配。

SQL LEFT JOIN语法

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

要么:

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

PS! 在留下了一些数据库JOIN称为LEFT OUTER JOIN。

SQL LEFT JOIN


演示数据库

在本教程中,我们将使用众所周知的Northwind示例数据库。

下面是从选择"Customers"表:

客户ID 顾客姓名 联系人姓名 地址 邮政编码 国家
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitucion 2222 Mexico D.F. 05021 Mexico
3 Antonio Moreno Taqueria Antonio Moreno Mataderos 2312 Mexico D.F. 05023 Mexico

而从选择"Orders"表:

订单ID 客户ID 员工ID 订购日期 ShipperID
10308 2 7 1996-09-18 3
10309 37 3 1996-09-19 1
10310 77 8 1996-09-20 2

SQL LEFT JOIN例

下面的SQL语句将返回所有客户,任何订单,他们可能有:

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;
试一试»

注意:LEFT JOIN关键字左表(客户)将返回所有的行,即使在右表(订单)不匹配。