Sobes.tech
Junior

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.