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 JOINよりも使用頻度が低いRIGHT JOINもLEFT JOINに書き換え可能LEFT JOINのほうがユーザーにとって、より直感的SQLのデータ結合