MySQL中 left join
封面图
•
2025-12-26
•
MySQL
224
0
0
0
在 MySQL 中,`LEFT JOIN`(也称为 `LEFT OUTER JOIN`)是一种用于连接两个或多个表的 SQL 语句。它的主要作用是:**根据指定的条件,将左表(第一个表)的所有记录与右表(第二个表)匹配的记录进行连接**。如果右表中没有匹配的记录,则结果中右表的字段会显示为 `NULL`。 --- ## 🧠 语法结构 ```sql SELECT column1, column2, ... FROM table1 LEFT JOIN table2 ON table1.column = table2.column; ``` - `table1` 是左表。 - `table2` 是右表。 - `ON` 后面是连接条件,通常是两表之间有关系的字段。 --- ## 📌 示例说明 假设有两个表: ### 表1: `employees` | id | name | |----|--------| | 1 | Alice | | 2 | Bob | | 3 | Charlie| ### 表2: `departments` | id | department_name | |----|------------------| | 1 | HR | | 2 | IT | ### 连接条件:`employees.id = departments.id` 执行以下查询: ```sql SELECT employees.name, departments.department_name FROM employees LEFT JOIN departments ON employees.id = departments.id; ``` ### 结果: | name | department_name | |----------|------------------| | Alice | HR | | Bob | IT | | Charlie | NULL | > 注意:Charlie 没有对应的部门信息,所以 `department_name` 显示为 `NULL`。 --- ## ✅ 与 INNER JOIN 的区别 | 类型 | 是否包含未匹配的行 | 是否返回左表所有行 | |--------------|--------------------|--------------------| | `LEFT JOIN` | ✅ 是 | ✅ 是 | | `INNER JOIN` | ❌ 否 | ❌ 否 | --- ## 🚀 使用场景 - 查询某个表的所有记录,并附带另一个表的相关信息(即使没有对应数据)。 - 统计每个用户有多少订单(即使用户没有订单)。 - 获取主表中的所有数据,并尝试关联其他表的信息。 --- ## 💡 小贴士 - 如果你只关心两表都有匹配的数据,使用 `INNER JOIN` 更高效。 - 如果你想要保留左表所有记录,不管有没有右表数据,用 `LEFT JOIN`。 --- 如果你有具体的表结构和需求,我可以帮你写一个更具体的 `LEFT JOIN` 查询示例 😊
上一篇:
MySQL中 full join
下一篇:
mysql查询学过“张三”老师所教的所有课的同学的学号、姓名
标题录入,一次不能超过6条
留言
评论