SQL'de sol birleştirme (left join) nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
SQL'de sol birleştirme (LEFT JOIN veya LEFT OUTER JOIN), iki tablodan satırları birleştirmek için kullanılır.
LEFT JOIN'in sonucu şunları içerir:
- Sol (birinci) tablodan tüm satırlar.
- Birleştirme koşulunun sağlandığı sağ (ikinci) tablodan karşılık gelen satırlar.
- Sol tablodaki, sağ tabloda karşılığı olmayan satırlar için, sağ tablodan gelen sütunlar
NULLdeğerlerini içerir.
Söz dizimi örneği:
SELECT <sütun_listesi>
FROM <sol_tablo> AS L
LEFT JOIN <sağ_tablo> AS R ON L.<birleştirme_sütunu> = R.<birleştirme_sütunu>;
Çalışma şekli:
Her sol tablodaki satır tek tek incelenir. Her satır için, ON koşuluna göre sağ tablodaki karşılıklar aranır.
- Eğer karşılıklar bulunursa, sol tablodaki satır, sağ tablodaki tüm karşılık gelen satırlarla birleştirilir.
- Eğer karşılık bulunmazsa, sol tablodaki satır sonuçlara dahil edilir ve sağ tablodan gelen sütunlar
NULLile doldurulur.
Görsel temsil:
İki veri kümesini hayal edin: Left (sol tablo) ve Right (sağ tablo). LEFT JOIN, Left'ten tüm öğeleri ve ayrıca Left'te karşılığı olan Right öğelerini döndürür. Eğer Left'te, Right'te karşılığı olmayan öğeler varsa, bu öğeler sonuçta yine gösterilir, ancak Right'ten gelen ilgili alanlar boş (NULL) kalır.
Diğer JOIN türleriyle karşılaştırma:
| JOIN Türü | Açıklama |
|---|---|
| INNER JOIN | Her iki tabloda da eşleşen satırlar döndürülür. |
| LEFT JOIN | Sol tablodaki tüm satırlar ve sağ tablodaki karşılık gelen satırlar döndürülür. Sağdaki karşılığı olmayan satırlar için NULL kullanılır. |
| RIGHT JOIN | Sağ tablodaki tüm satırlar ve sol tablodaki karşılık gelen satırlar döndürülür. Soldaki karşılığı olmayan satırlar için NULL kullanılır. |
| FULL OUTER JOIN | Her iki tabloda da karşılık gelen satırlar ve olmayanlar dahil olmak üzere tüm satırlar döndürülür. Her iki tabloda karşılığı olmayan satırlar için NULL kullanılır. |
Bu nedenle, LEFT JOIN, bir tablodaki tüm kayıtların listesini almak ve bunları diğer tablodan alınan bilgilerle tamamlamak istediğinizde kullanışlıdır, hatta tüm kayıtlar için karşılık gelen veri olmasa bile.