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.