Junior
SQL Join nasıl çalışır?
sobes.tech yapay zeka
AI'dan gelen yanıt
SQL JOIN, iki veya daha fazla tablodan satırları, aralarındaki ilişkili sütuna göre birleştirir. Birkaç JOIN türü vardır:
INNER JOIN: Her iki tabloda da eşleşen değerler olan satırları döndürür.LEFT (OUTER) JOIN: Sol tablodaki tüm satırları ve sağ tablodaki eşleşen satırları döndürür. Sağ tabloda eşleşme yoksa, sağ tablonun sütunları içinNULLdeğerleri döndürülür.RIGHT (OUTER) JOIN: Sağ tablodaki tüm satırları ve sol tablodaki eşleşen satırları döndürür. Sol tabloda eşleşme yoksa, sol tablonun sütunları içinNULLdeğerleri döndürülür.FULL (OUTER) JOIN: Her iki tablodaki tüm satırları döndürür. Eşleşme yoksa, ilgili sütunlar içinNULLdeğerleri döndürülür.CROSS JOIN: İki tablonun kartezian çarpımını döndürür (birinci tablodan her satır, ikinci tablodan her satır ile birleştirilir).
Söz dizimi genellikle şu şekildedir:
SELECT sütun1, sütun2...
FROM tablo1
JOIN tablo2 ON tablo1.ortak_sütun = tablo2.ortak_sütun;
INNER JOIN örneği:
SELECT orders.order_id, customers.customer_name
FROM orders
INNER JOIN customers ON orders.customer_id = customers.customer_id;
customers ve orders tablolarını düşünelim:
customers
| customer_id | customer_name |
|---|---|
| 1 | Alice |
| 2 | Bob |
| 3 | Charlie |
orders
| order_id | customer_id | amount |
|---|---|---|
| 101 | 1 | 100 |
| 102 | 2 | 150 |
| 103 | 1 | 200 |
| 104 | 4 | 50 |
INNER JOIN sonucu:
| order_id | customer_name |
|---|---|
| 101 | Alice |
| 102 | Bob |
| 103 | Alice |
LEFT JOIN sonucu (orders LEFT JOIN customers):
| order_id | customer_id | amount | customer_name |
|---|---|---|---|
| 101 | 1 | 100 | Alice |
| 102 | 2 | 150 | Bob |
| 103 | 1 | 200 | Alice |
| 104 | 4 | 50 | NULL |