📅  最后修改于: 2023-12-03 15:20:16.907000             🧑  作者: Mango
在关系型数据库中,左连接(Left Join)是指在左表中查找匹配的行,如果在右表中没有匹配的行,则会返回空值。左连接可以帮助我们在两个或多个表之间建立联系,同时保留某些特定的条件。
左连接的语法如下:
SELECT column1, column2, ...
FROM table1
LEFT JOIN table2
ON table1.column = table2.column;
在以上语法中,SELECT
指定要查询哪些列,FROM
指定要查询哪个表或表组合。LEFT JOIN
表示要进行左连接。ON
后面指定连接条件,即哪些列要进行匹配。
假设我们有两个表,一个为 orders
表,包含订单信息和 customer
表,包含客户信息,它们的结构如下:
orders
+----+-----------+---------+
| id | order_no | cust_id |
+----+-----------+---------+
| 1 | 202110180 | 2 |
| 2 | 202110179 | 1 |
| 3 | 202110178 | 3 |
| 4 | 202110177 | 2 |
+----+-----------+---------+
customer
+----+------------+------------+
| id | first_name | last_name |
+----+------------+-----------+
| 1 | John | Smith |
| 2 | Mary | Johnson |
| 3 | James | Williams |
+----+------------+-----------+
现在,我们想要查询所有的订单并包含顾客姓名。我们可以使用以下 SQL 语句:
SELECT orders.id, orders.order_no, customer.first_name, customer.last_name
FROM orders
LEFT JOIN customer ON orders.cust_id = customer.id;
以上 SQL 语句将返回以下结果:
+----+-----------+------------+-----------+
| id | order_no | first_name | last_name |
+----+-----------+------------+-----------+
| 1 | 202110180 | Mary | Johnson |
| 2 | 202110179 | John | Smith |
| 3 | 202110178 | James | Williams |
| 4 | 202110177 | Mary | Johnson |
+----+-----------+------------+-----------+
可以看到,以上 SQL 语句查询了 orders
表和 customer
表,并使用 LEFT JOIN
进行了连接,最终返回结果包含了所有的订单以及对应的客户姓名。
左连接是 SQL 中非常常用的一种连接方式,可以帮助我们在多个表之间进行连接,同时保留某些特定的条件。要使用左连接,我们需要使用 LEFT JOIN
语句,并在其后指定用来连接各个表的条件。使用左连接可以大大增强 SQL 查询的效率和功能,是每个程序员必须掌握的基本技能之一。