Sobes.tech
Senior

Hangi JOIN türlerini biliyorsun ve aralarındaki fark nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

SQL'deki JOIN türleri ve aralarındaki farklar:

  • INNER JOIN — her iki tabloda da eşleşen kayıtları döndürür.

  • LEFT JOIN (LEFT OUTER JOIN) — sol tablodaki tüm kayıtları ve sağdaki eşleşenleri döndürür. Eşleşme yoksa, sağ tablonun alanları NULL olur.

  • RIGHT JOIN (RIGHT OUTER JOIN) — sağ tablodaki tüm kayıtları ve soldaki eşleşenleri döndürür.

  • FULL JOIN (FULL OUTER JOIN) — her iki tablodaki tüm kayıtları, eşleşen ve eşleşmeyenleriyle birlikte NULL ile döndürür.

  • CROSS JOIN — iki tablonun kartezian çarpımıdır, tüm olası satır kombinasyonlarını döndürür.

Örnek:

-- INNER JOIN
SELECT * FROM A INNER JOIN B ON A.id = B.a_id;

-- LEFT JOIN
SELECT * FROM A LEFT JOIN B ON A.id = B.a_id;

-- RIGHT JOIN
SELECT * FROM A RIGHT JOIN B ON A.id = B.a_id;

-- FULL JOIN
SELECT * FROM A FULL JOIN B ON A.id = B.a_id;

-- CROSS JOIN
SELECT * FROM A CROSS JOIN B;

JOIN seçimi, hangi verilerin alınacağına ve eksik eşleşmelerin nasıl işleneceğine bağlıdır.