📜  SQL left-join(1)

📅  最后修改于: 2023-12-03 15:05:17.201000             🧑  作者: Mango

SQL Left Join

介绍

在SQL中,Left Join是一种联结操作,用于从一个表中选取所有的记录,同时与另一个表中的匹配记录进行关联。左联接返回左表中的所有记录和与右表中匹配的记录。

语法
SELECT column(s)
FROM table1
LEFT JOIN table2 ON table1.column = table2.column;
示例

假设我们有两个表:CustomersOrders,它们之间的关系是一个顾客可以有多个订单。

Table: Customers

| CustomerID | CustomerName | |------------|--------------| | 1 | John | | 2 | Mary | | 3 | David |

Table: Orders

| OrderID | CustomerID | OrderDate | |---------|------------|------------| | 1 | 1 | 2021-01-01 | | 2 | 1 | 2021-02-01 | | 3 | 3 | 2021-03-01 |

我们可以使用左联接来获取所有客户及其对应的订单(如果有):

SELECT Customers.CustomerName, Orders.OrderID, Orders.OrderDate
FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

结果:

| CustomerName | OrderID | OrderDate | |--------------|---------|------------| | John | 1 | 2021-01-01 | | John | 2 | 2021-02-01 | | Mary | NULL | NULL | | David | 3 | 2021-03-01 |

注意到,Mary没有任何订单,因此在左联接结果中,对应的OrderID和OrderDate列为NULL。

总结
  • 左联接(Left Join)用于从左表中选取所有记录,并与右表中的匹配记录进行关联。
  • 左联接使用LEFT JOIN关键词。
  • 左联接返回左表中的所有记录和与右表中匹配的记录。
  • 如果右表中没有与左表中的记录匹配的记录,对应的列将包含NULL值。

希望这个描述对你有帮助!