📜  SQL 左连接(1)

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

SQL 左连接

在关系型数据库中,左连接(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 查询的效率和功能,是每个程序员必须掌握的基本技能之一。