JOIN Ne Demek?
Yayın: · Son güncelleme:
JOIN Ne Demek? Kısaca
JOIN, SQL'de iki veya daha fazla tablodaki satırları ortak bir sütun üzerinden eşleştirip tek bir sonuç tablosunda birleştiren ifadedir. Genellikle birincil anahtar ile yabancı anahtar eşleştirilerek kullanılır.

JOIN ne demek?
JOIN, İngilizcede "birleştirmek" anlamına gelir. SQL'de ise ayrı tablolarda duran ilişkili verileri tek sorguda bir araya getiren ifadedir. İlişkisel veritabanları veriyi tekrar etmemek için parçalara böler; JOIN bu parçaları okurken yeniden birleştirir.
Bağlantı, iki tabloda ortak anlam taşıyan sütunlar üzerinden kurulur. Çoğu zaman bu, bir tablodaki yabancı anahtar ile diğer tablodaki birincil anahtardır.
Nasıl kullanılır?
Varsayımsal bir örnekte "siparisler" tablosunda yalnızca musteri_id tutuluyor, müşterinin adı "musteriler" tablosunda. Siparişleri müşteri adıyla listelemek için:
SELECT s.id, m.ad, s.tutar
FROM siparisler s
JOIN musteriler m ON m.id = s.musteri_id;
ON ifadesi eşleştirme kuralını belirler. Sonuçta her sipariş satırının yanında ilgili müşterinin adı görünür.
JOIN türleri
Hangi satırların sonuca gireceğini JOIN türü belirler:
| Tür | Sonuca giren satırlar |
|---|---|
| INNER JOIN | Yalnızca iki tabloda da eşleşenler |
| LEFT JOIN | Soldaki tablonun tümü, sağdan eşleşenler |
| RIGHT JOIN | Sağdaki tablonun tümü, soldan eşleşenler |
| FULL OUTER JOIN | İki tablonun tüm satırları |
Yalnızca JOIN yazdığınızda çoğu veritabanı bunu INNER JOIN olarak yorumlar.
Sık yapılan hatalar
ON koşulunu unutmak ya da yanlış sütunları eşlemek, satır sayısının beklenmedik biçimde katlanmasına yol açar. 100 sipariş ve 50 müşteriden oluşan iki tablo, koşulsuz birleştirildiğinde 5.000 satır üretir. Sonuç sayısı mantıksız görünüyorsa önce eşleştirme koşulunu kontrol edin.
Sıkça Sorulan Sorular
JOIN ile INNER JOIN aynı şey mi?
Çoğu veritabanı sisteminde evet. Yalnızca JOIN yazıldığında varsayılan davranış INNER JOIN'dir, ancak okunabilirlik için türü açıkça yazmak önerilir.
Kaç tablo birleştirilebilir?
Teknik olarak tek sorguda çok sayıda tablo birleştirilebilir. Ancak her ek JOIN sorguyu karmaşıklaştırır, bu yüzden ilgili sütunlara indeks eklemek ve sorgu planını EXPLAIN ile incelemek gerekir.