Gunun on plana cikan hikayelerini, analizlerini ve rehber iceriklerini takip edin.

Elektroniğe dair ne varsa!

SQL JOIN Türleri Nedir? INNER JOIN, LEFT JOIN ve RIGHT JOIN Açıklaması

SQL JOIN türleri nedir sorusuna; INNER JOIN, LEFT JOIN ve RIGHT JOIN mantığını açıklayan profesyonel rehber.

Veritabanı tasarımında veriler çoğu zaman tek tabloda tutulmaz. Müşteriler, siparişler, ürünler ve kategoriler gibi farklı varlıklar ayrı yapılarda saklanır. Bu tabloları anlamlı sonuçlara dönüştüren en temel araç JOIN işlemleridir.

JOIN mantığı anlaşılmadan raporlama, listeleme ve ilişki bazlı sorgu yazımı eksik kalır. Bu yüzden JOIN türlerini ezber cümlelerle değil, hangi durumda hangi satırların döneceğini anlayarak öğrenmek gerekir.

Kısa cevap: Birden fazla tabloyu ortak alan üzerinden birleştirmek.

Konu özeti

BaşlıkÖzet
Odak noktaBirden fazla tabloyu ortak alan üzerinden birleştirmek
Öğrenilecek yapılarINNER JOIN, LEFT JOIN, RIGHT JOIN ve NULL davranışı
En kritik uyarıHangi tablonun korunacağı JOIN türüne göre değişir

JOIN neden gereklidir?

İlişkisel veritabanlarında normalizasyon veri tekrarını azaltır; ancak sorgu sırasında tablolar arasında bağ kurmayı zorunlu hâle getirir. JOIN, bu ilişkinin sorgu düzeyindeki karşılığıdır.

Örneğin sipariş tablosunda yalnızca müşteri kimliği tutuluyorsa, müşterinin adını görmek için sipariş ile müşteri tablosunu eşleştirmeniz gerekir.

SQL JOIN Türleri Nedir? INNER JOIN, LEFT JOIN ve RIGHT JOIN Açıklaması için inner join görseli

INNER JOIN ne getirir?

INNER JOIN, yalnızca her iki tabloda da eşleşen kayıtları getirir. Yani kesişim kümesini üretir. Her iki tarafta da ilgili veri bulunmasının zorunlu olduğu raporlarda çok kullanışlıdır.

Eşleşmeyen satırlar sonuç kümesine girmez. Bu yüzden daha dar ama daha kesin bir çıktı üretir.

SELECT m.Ad, s.SiparisTarihi
FROM Musteriler m
INNER JOIN Siparisler s
    ON m.Id = s.MusteriId;
SQL JOIN Türleri Nedir? INNER JOIN, LEFT JOIN ve RIGHT JOIN Açıklaması için left join görseli

LEFT JOIN ve RIGHT JOIN nasıl okunmalı?

LEFT JOIN, sol tablodaki tüm kayıtları korur; sağda eşleşme yoksa ilgili alanlara NULL yazar. Bu nedenle ana tabloyu kaybetmeden ilişkili veri göstermek istediğinizde çok değerlidir.

RIGHT JOIN mantık olarak bunun simetriğidir. Ancak pratikte birçok geliştirici sorguyu soldan okunur tutmak için RIGHT JOIN yerine tablo sırasını değiştirip LEFT JOIN kullanır.

  • INNER JOIN sadece eşleşen satırları döndürür.
  • LEFT JOIN soldaki tüm kayıtları korur.
  • RIGHT JOIN sağdaki tüm kayıtları korur.
  • NULL değerler çoğu zaman hatayı değil, eşleşme olmadığını gösterir.
SQL JOIN Türleri Nedir? INNER JOIN, LEFT JOIN ve RIGHT JOIN Açıklaması için right join görseli

Sık yapılan hatalar

  • Hangi tablonun sol tarafta olduğuna dikkat etmemek
  • NULL gelen satırları yanlış yorumlamak
  • JOIN koşulunu eksik yazarak gereksiz çoğalma üretmek
  • INNER JOIN ile LEFT JOIN sonucunun aynı olacağını sanmak

Sık sorulan sorular

LEFT JOIN neden çok kullanılır?

Çünkü ana tabloyu korurken ilişkili veri varsa gösterir, yoksa da satırı kaybetmez.

RIGHT JOIN kullanmak şart mı?

Hayır. Çoğu durumda tablo sırasını değiştirip LEFT JOIN ile aynı mantığı kurabilirsiniz.

JOIN sonucu neden beklediğimden fazla satır döndürdü?

Muhtemelen ilişki alanı tekil değildir ya da JOIN koşulu eksik yazılmıştır.

İlgili aramalar

  • sql join türleri
  • inner join left join farkı
  • right join ne işe yarar
  • sql null join davranışı
  • ilişkisel sorgu mantığı

Yazar notu

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir