在 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);
Note. 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;
Note. 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 中進行資料連接