mysql的left join用法详解
时间: 2024-08-12 09:01:35 浏览: 31
MySQL的`LEFT JOIN`是一种内连接类型,它的基本用法是在左表(通常指定在第一个位置)中保留所有行,即使在右表中找不到匹配的条目,也会生成结果集,并将缺失的列填充为NULL。以下是`LEFT JOIN`的关键点:
1. **语法**:`SELECT ... FROM table1 LEFT JOIN table2 ON condition`。这里的`table1`是左表,`table2`是右表,`condition`是两个表之间的连接条件。
2. **结果集**:左表的所有行都会出现在结果集中,右边表格的匹配行会附加到左边。如果右表没有匹配项,则左表的相应列将显示NULL值。
3. **连接条件**:`ON`后面的表达式用于指定如何将两表联接起来,可以根据共享的键(如ID)或更复杂的逻辑表达式。
4. **应用场景**:当你需要看到所有左表中的信息,即使右表没有相关数据,或者想获取左侧完整的信息同时包含右侧部分匹配时,使用`LEFT JOIN`非常合适。
5. **示例**:例如查询学生信息,包括所有学生及其选修的课程,即使有些学生尚未选择任何课程,也会显示出来。
```sql
SELECT students.name, courses.course_name
FROM students
LEFT JOIN enrollments ON students.id = enrollments.student_id
LEFT JOIN courses ON enrollments.course_id = courses.id;
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)