mySQL中LEFT JOIN
封面图
•
2025-11-05
•
MySQL
172
0
0
0
在 MySQL 中,`LEFT JOIN` 是一种用于连接两个或多个表的 SQL 操作。它返回所有左表(即 `LEFT JOIN` 前面的表)的记录,即使右表中没有匹配的记录。 --- ## ✅ 语法结构: ```sql SELECT column1, column2, ... FROM table1 LEFT JOIN table2 ON table1.column = table2.column; ``` - `table1` 是左表。 - `table2` 是右表。 - `ON` 后面是连接条件(通常是两表之间的关联字段)。 --- ## 📌 示例说明 假设有两个表: ### 表:`employees` | id | name | department_id | |----|--------|---------------| | 1 | Alice | 1 | | 2 | Bob | 2 | | 3 | Charlie| NULL | ### 表:`departments` | id | name | |----|----------| | 1 | HR | | 2 | IT | | 3 | Sales | --- ### 查询语句: ```sql SELECT employees.name, departments.name AS department_name FROM employees LEFT JOIN departments ON employees.department_id = departments.id; ``` ### 输出结果: | name | department_name | |---------|------------------| | Alice | HR | | Bob | IT | | Charlie | NULL | --- ## 🔍 解释: - 对于 `Alice` 和 `Bob`,他们在 `departments` 表中找到了对应的部门名称。 - 对于 `Charlie`,`department_id` 是 `NULL`,所以在 `departments` 表中找不到对应记录,因此 `department_name` 显示为 `NULL`。 --- ## ⚠️ 注意事项: - `LEFT JOIN` 会保留左表的所有记录。 - 如果右表中没有匹配的记录,那么右表的字段会显示为 `NULL`。 - `LEFT JOIN` 和 `LEFT OUTER JOIN` 是等价的,在 MySQL 中可以互换使用。 --- ## 🔄 其他 JOIN 类型对比: | JOIN 类型 | 说明 | |----------------|----------------------------------| | `INNER JOIN` | 只返回左右表都有匹配的记录 | | `LEFT JOIN` | 返回左表所有记录,右表无匹配时为 NULL | | `RIGHT JOIN` | 返回右表所有记录,左表无匹配时为 NULL | | `FULL JOIN` | 返回左右表所有记录(MySQL 不支持) | --- 如果你有具体的表结构和查询需求,我可以帮你写出更精确的 `LEFT JOIN` 查询语句 😊
上一篇:
php自动给网址加上链接
下一篇:
php 本周开始时间和结束时间;本月开始时间结束时间;上月开始时间结束时间
标题录入,一次不能超过6条
留言
评论