LEFT ve RIGHT JOIN’ler

SQL'de Verileri Birleştirme

Maham Faisal Khan

Senior Content Developer, Data Science

INNER JOIN diyagramı

id alanında INNER JOIN diyagramı

Önceki bir dersten tekrarlanan bir diyagram: left_table ve right_table adlı iki tablo ve bu tablolar üzerinde inner join yapıldıktan sonra elde edilen sonuç kümesi gösteriliyor. Inner join için ilgisiz kayıtlar soluklaştırılmış.

SQL'de Verileri Birleştirme

LEFT JOIN başlangıç diyagramı

  • LEFT JOIN, sol tablodaki tüm kayıtları ve verilen birleştirme alanına göre sağ tabloyla eşleşen kayıtları döndürür
    id alanında LEFT JOIN diyagramı

İki tabloyu gösteren bir diyagram: sol tablo ve sağ tablo; her iki tabloda id sütununda eşleşen kayıtlara işaret eden oklar var. Left join için ilgisiz kayıtlar griye boyanmış.

SQL'de Verileri Birleştirme

LEFT JOIN diyagramı

id alanında LEFT JOIN diyagramı

İki tablo (sol ve sağ) ve bu tablolar üzerinde left join yapıldıktan sonra elde edilen sonuç kümesini gösteren diyagram. Left join için ilgisiz kayıtlar soluklaştırılmış.

SQL'de Verileri Birleştirme

LEFT JOIN sözdizimi

SELECT p1.country, prime_minister, president
FROM prime_ministers AS p1
LEFT JOIN presidents AS p2
USING(country);

Not. LEFT JOIN, LEFT OUTER JOIN olarak da yazılabilir.

| 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                    | 
...
SQL'de Verileri Birleştirme

RIGHT JOIN

id alanında RIGHT JOIN diyagramı

İki tabloyu (sol ve sağ) ve bu tablolar üzerinde right join yapıldıktan sonra elde edilen sonuç kümesini gösteren diyagram. Right join için ilgisiz kayıtlar griye boyanmış.

SQL'de Verileri Birleştirme

RIGHT JOIN sözdizimi

SELECT *
FROM left_table
RIGHT JOIN right_table
ON left_table.id = right_table.id;

Not. RIGHT JOIN, RIGHT OUTER JOIN olarak da yazılabilir.

SQL'de Verileri Birleştirme

Başkanlar ve başbakanlarla RIGHT 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          |      
SQL'de Verileri Birleştirme

LEFT JOIN mı, RIGHT JOIN mı?

  • RIGHT JOIN, LEFT JOIN’dan daha az kullanılır
  • Her RIGHT JOIN, LEFT JOIN olarak yeniden yazılabilir
  • Soldan sağa yazarken LEFT JOIN daha sezgiseldir
SQL'de Verileri Birleştirme

Hadi pratik yapalım!

SQL'de Verileri Birleştirme

Preparing Video For Download...