SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name=table2.column_name;
SELECT column_name(s)
FROM table1
LEFT OUTER JOIN table2
ON table1.column_name=table2.column_name;
注释:在某些数据库中,LEFT JOIN 称为 LEFT OUTER JOIN。
SELECT c.name AS course_name, t.name AS teacher_name
FROM teachers t
LEFT JOIN courses c ON c.teacher_id = t.id;
mysql> SELECT c.name AS course_name, t.name AS teacher_name
-> FROM teachers t
-> LEFT JOIN courses c ON c.teacher_id = t.id;
+-------------------------+------------------+
| course_name | teacher_name |
+-------------------------+------------------+
| Big Data | Eastern Heretic |
| Data Analysis | Eastern Heretic |
| Dynamic Programming | Eastern Heretic |
| NULL | Northern Beggar |
| System Design | Western Venom |
| Django | Western Venom |
| Artificial Intelligence | Western Venom |
| Java P6+ | Western Venom |
| Senior Algorithm | Southern Emperor |
| Web | Southern Emperor |
| Object Oriented Design | Southern Emperor |
| NULL | Linghu Chong |
+-------------------------+------------------+
12 rows in set (0.06 sec)
SELECT c.name AS course_name, t.name AS teacher_name
FROM teachers t
LEFT JOIN courses c ON c.teacher_id = t.id
WHERE t.country = 'CN';
+------------------------+------------------+
| course_name | teacher_name |
+------------------------+------------------+
| Big Data | Eastern Heretic |
| Data Analysis | Eastern Heretic |
| Dynamic Programming | Eastern Heretic |
| NULL | Northern Beggar |
| Senior Algorithm | Southern Emperor |
| Web | Southern Emperor |
| Object Oriented Design | Southern Emperor |
| NULL | Linghu Chong |
+------------------------+------------------+