SQL'de LEFT JOIN ve RIGHT JOIN arasındaki farklar nelerdir?
sobes.tech yapay zeka
AI'dan gelen yanıt
LEFT JOIN, sol taraf (birinci) tablodan tüm satırları ve sağ (ikinci) tablodaki karşılık gelen satırları getirir. Sağ tablodaki eşleşmeler yoksa, sonuçlar sağ tablodan sütunlar için NULL içerir.
RIGHT JOIN, sağ (ikinci) tablodan tüm satırları ve sol (birinci) tablodaki karşılık gelen satırları getirir. Sol tablodaki eşleşmeler yoksa, sonuçlar sol tablodan sütunlar için NULL içerir.
Ana fark, hangi tablonun "tam" sayıldığıdır, yani hangi tablodan tüm satırların geri döneceğidir, eşleşmeler olup olmamasına bakılmaksızın.
SQL örneği:
Tablo TabloA:
| ID | DeğerA |
|---|---|
| 1 | A1 |
| 2 | A2 |
| 3 | A3 |
Tablo TabloB:
| ID | DeğerB |
|---|---|
| 2 | B2 |
| 3 | B3 |
| 4 | B4 |
LEFT JOIN:
SELECT *
FROM TabloA
LEFT JOIN TabloB ON TabloA.ID = TabloB.ID;
LEFT JOIN sonucu:
| ID (TabloA'dan) | DeğerA | ID (TabloB'den) | DeğerB |
|---|---|---|---|
| 1 | A1 | NULL | NULL |
| 2 | A2 | 2 | B2 |
| 3 | A3 | 3 | B3 |
RIGHT JOIN:
SELECT *
FROM TabloA
RIGHT JOIN TabloB ON TabloA.ID = TabloB.ID;
RIGHT JOIN sonucu:
| ID (TabloA'dan) | DeğerA | ID (TabloB'den) | DeğerB |
|---|---|---|---|
| 2 | A2 | 2 | B2 |
| 3 | A3 | 3 | B3 |
| NULL | NULL | 4 | B4 |
LEFT JOIN ve RIGHT JOIN, sorgudaki tabloların sırasını değiştirerek genellikle birbirinin yerine kullanılabilir: A LEFT JOIN B, B RIGHT JOIN A ile eşdeğerdir.