JOIN Neden Kullanılır?
İlişkisel veritabanlarında veriler birden fazla tabloya dağıtılır. Müşteri tablosu, sipariş tablosu, ürün tablosu — bunları birleştirmek için JOIN şarttır.
INNER JOIN
Her iki tabloda da eşleşen kayıtları getirir.
SELECT m.adi, s.tarih, s.tutar
FROM musteriler m
INNER JOIN siparisler s ON m.id = s.musteri_id;LEFT JOIN
Sol tablodaki TÜM kayıtları, sağ tablodan eşleşenleri getirir. Eşleşme yoksa NULL döner.
-- Sipariş vermemiş müşteriler dahil
SELECT m.adi, s.tarih
FROM musteriler m
LEFT JOIN siparisler s ON m.id = s.musteri_id;RIGHT JOIN
Sağ tablodaki TÜM kayıtları getirir.
FULL OUTER JOIN
Her iki tablodaki tüm kayıtları getirir, eşleşmeyenler NULL olur.
Çoklu JOIN
SELECT m.adi, u.urun_adi, sd.miktar
FROM musteriler m
INNER JOIN siparisler s ON m.id = s.musteri_id
INNER JOIN siparis_detay sd ON s.id = sd.siparis_id
INNER JOIN urunler u ON sd.urun_id = u.id;