MySQL left join作用及用法举例
时间: 2023-10-11 22:09:57 浏览: 83
MySQL的LEFT JOIN是一种关联查询方式,它可以从左边的表中返回所有的记录,而右边的表中只返回匹配的记录。如果右表中没有匹配的记录,那么查询结果中右表的所有字段都将为NULL。
下面是一个LEFT JOIN的用法举例:
假设有两个表,一个是学生表(student),一个是课程表(course)。
student表结构如下:
| id | name | age | gender |
|----|--------|-----|--------|
| 1 | Alice | 20 | female |
| 2 | Bob | 21 | male |
| 3 | Charlie| 19 | male |
course表结构如下:
| id | name | student_id |
|----|----------|------------|
| 1 | Math | 1 |
| 2 | English | 1 |
| 3 | Physics | 2 |
| 4 | Chemistry| 4 |
现在需要查询每个学生选修的课程信息,如果学生没有选修任何课程,则课程信息应该显示为NULL。
可以使用以下SQL语句实现:
```
SELECT student.name, course.name
FROM student
LEFT JOIN course
ON student.id = course.student_id;
```
执行以上SQL语句后,会返回如下结果:
| name | name |
|---------|-----------|
| Alice | Math |
| Alice | English |
| Bob | Physics |
| Charlie | NULL |
可以看到,Alice选修了Math和English两门课程,Bob只选修了Physics一门课程,而Charlie并没有选修任何课程。LEFT JOIN查询返回了每个学生的姓名和对应的课程名称,如果学生没有选修任何课程,则课程名称显示为NULL。
阅读全文