SQL 数据连接
Maham Faisal Khan
Senior Content Developer, Data Science
id 字段的 INNER JOIN 示意图
LEFT JOIN 返回左表全部记录,以及右表中在连接字段上匹配的记录id 字段的 LEFT JOIN 示意图
id 字段的 LEFT JOIN 示意图
SELECT p1.country, prime_minister, president
FROM prime_ministers AS p1
LEFT JOIN presidents AS p2
USING(country);
注意:LEFT JOIN 也可写作 LEFT OUTER JOIN。
| country | prime_minister | president |
|----------------|-------------------|-------------------------|
| Egypt | Mostafa Madbouly | Abdel Fattah el-Sisi |
| Portugal | Luís Montenegro | Marcelo Rebelo de Sousa |
| Pakistan | Shehbaz Sharif | Asif Ali Zardari |
| United Kingdom | Keir Starmer | null |
| India | Narendra Modi | Droupadi Murmu |
| Australia | Anthony Albanese | null |
...
id 字段的 RIGHT JOIN 示意图
SELECT *
FROM left_table
RIGHT JOIN right_table
ON left_table.id = right_table.id;
注意:RIGHT JOIN 也可写作 RIGHT OUTER JOIN。
SELECT p1.country, prime_minister, president
FROM prime_ministers AS p1
RIGHT JOIN presidents AS p2
USING(country);
| country | prime_minister | president |
|----------------|------------------|-------------------------|
| Egypt | Mostafa Madbouly | Abdel Fattah el-Sisi |
| Portugal | Luís Montenegro | Marcelo Rebelo de Sousa |
| USA | null | Joe Biden |
| Uruguay | null | Luis Lacalle Pou |
| Pakistan | Shehbaz Sharif | Asif Ali Zardari |
| Chile | null | Gabriel Boric |
| India | Narendra Modi | Droupadi Murmu |
RIGHT JOIN 的使用频率低于 LEFT JOINRIGHT JOIN 都可改写为 LEFT JOINLEFT JOIN 更直观SQL 数据连接