SELECT c.name AS course_name, t.name AS teacher_name
FROM courses c
LEFT JOIN teachers t ON c.teacher_id = t.id
UNION
SELECT c.name AS course_name, t.name AS teacher_name
FROM courses c
RIGHT JOIN teachers t ON c.teacher_id = t.id;
执行输出结果
mysql> SELECT c.name AS course_name, t.name AS teacher_name
-> FROM courses c
-> LEFT JOIN teachers t ON c.teacher_id = t.id
-> UNION
-> SELECT c.name AS course_name, t.name AS teacher_name
-> FROM courses c
-> RIGHT JOIN teachers t ON c.teacher_id = t.id;
+-------------------------+------------------+
| course_name | teacher_name |
+-------------------------+------------------+
| Senior Algorithm | Southern Emperor |
| System Design | Western Venom |
| Django | Western Venom |
| Web | Southern Emperor |
| Big Data | Eastern Heretic |
| Artificial Intelligence | Western Venom |
| Java P6+ | Western Venom |
| Data Analysis | Eastern Heretic |
| Object Oriented Design | Southern Emperor |
| Dynamic Programming | Eastern Heretic |
| NULL | Northern Beggar |
| NULL | Linghu Chong |
+-------------------------+------------------+
12 rows in set (0.01 sec)