使用左外链接,右外连接查询teacher表和teaching表所有信息
时间: 2024-10-17 08:06:30 浏览: 33
左外连接(LEFT OUTER JOIN)和右外连接(RIGHT OUTER JOIN)都用于合并两个表的所有信息,区别在于返回结果中未匹配的行处理方式。
**左外连接 (LEFT OUTER JOIN)**:
这个操作会返回左表(这里是`teacher`表)的所有行,包括那些在右表(`teaching`表)中没有匹配的行。如果有匹配,则显示关联的数据;如果没有,右边的数据将被替换为NULL。
示例查询:
```sql
SELECT teacher.*, teaching.course_id
FROM teacher
LEFT OUTER JOIN teaching ON teacher.id = teaching.teacher_id;
```
这将展示所有的教师信息,包括未教授课程的教师,他们的课程编号列将是NULL。
**右外连接 (RIGHT OUTER JOIN)**:
相反,右外连接会返回右表的所有行,同样包括在左表中没有匹配的行,左边的数据如果是NULL。
示例查询:
```sql
SELECT teacher.*, teaching.course_id
FROM teacher
RIGHT OUTER JOIN teaching ON teacher.id = teaching.teacher_id;
```
这将展示所有的教学信息,包括未分配给任何教师的课程,对应的教师姓名列将是NULL。
阅读全文