mysql多表leftjoin
时间: 2023-06-29 10:06:31 浏览: 87
在 MySQL 中,可以使用 LEFT JOIN 对多个表进行连接操作。LEFT JOIN 操作可以用来连接两个或多个表,返回左表中所有的记录和右表中匹配的记录。如果左表中的某个记录在右表中没有匹配的记录,则仍然返回左表中的该记录,右表中的所有列都会填充为 NULL。
以下是一个简单的例子,假设我们有两个表 orders 和 customers:
orders 表:
| order_id | customer_id | order_date |
|----------|-------------|------------|
| 1 | 1 | 2021-01-01 |
| 2 | 2 | 2021-01-02 |
| 3 | 2 | 2021-01-03 |
customers 表:
| customer_id | customer_name |
|-------------|---------------|
| 1 | Alice |
| 2 | Bob |
| 3 | Charlie |
我们想要查询每个订单的信息以及对应的客户名字,可以使用以下查询语句:
```
SELECT orders.order_id, orders.order_date, customers.customer_name
FROM orders
LEFT JOIN customers ON orders.customer_id = customers.customer_id;
```
这将返回以下结果:
| order_id | order_date | customer_name |
|----------|-------------|---------------|
| 1 | 2021-01-01 | Alice |
| 2 | 2021-01-02 | Bob |
| 3 | 2021-01-03 | Bob |
注意,第三行的 customer_name 是 "Bob",因为订单 3 对应的客户 ID 是 2,而 "Bob" 是 ID 2 的客户的名字。如果左表中的某些记录在右表中没有匹配的记录,则相应的列将填充为 NULL。
阅读全文