left join on多表关联举例
时间: 2024-03-16 09:40:20 浏览: 75
Left join是一种多表关联查询的方式,它可以根两个或多个表之间的共同字段进行连接,并返回左表中的所有记录以及与之匹配的右表记录。下面是一个left join的示例:
假设我们有两个表:学生表(students)和成绩表(scores)。学生表包含学生的基本信息,成绩表包含学生的考试成绩。它们之间通过学生ID进行关联。
学生表(students):
| 学生ID | 姓名 | 年龄 |
|--|
| 1 | 张三 | 18 |
| 2 | 李四 | 20 |
| 3 | 王五 | 19 |
成绩表(scores):
| 学生ID | 科目 | 成绩 |
|--|--------|------|
| 1 | 数学 | 90 |
| 2 | 英语 | 85 |
| 4 | 物理 | 92 |
我们可以使用left join将学生表和成绩表进行关联,以获取每个学生的基本信息和对应的成绩(如果有的话):
```sql
SELECT students.学生ID, students.姓名, students.年龄, scores.科目, scores.成绩
FROM students
LEFT JOIN scores ON students.学生ID = scores.学生ID;
```
执行以上查询后,将返回以下结果:
| 学生ID | 姓名 | 年龄 | 科目 | 成绩 |
|--|--------|------|--------|------|
| 1 | 张三 | 18 | 数学 | 90 |
| 2 | 李四 | 20 | 英语 | 85 |
| 3 | 王五 | 19 | NULL | NULL |
在这个例子中,左表是学生表,右表是成绩表。使用左连接(left join)的方式,我们得到了所有学生的基本信息,并且对于有成绩的学生,还包括了他们的成绩信息。对于没有成绩的学生,科目和成绩字段显示为NULL。
阅读全文