SQL LEFT Join Nedir? Kullanımı

Yazıda SQL left join nedir ile SQL left join anlatılmış, MySQL, SQL Server, Oracle vb. sistemlerde SQL left join kullanımı ile ilgili bilgi verilmiştir.

LEFT JOIN nedir?

SQL left join SQL Join türlerinden biridir.

SQL left join ilk (sol) tablodaki tüm satırları ve koşul ile belirtilen ikinci (sağ) tablodaki satırları seçmek/birleştirmek için kullanılır.

İlk (sol) tablodaki değer ile ikinci (sağ) tablodaki eşleşmeyen değer olursa ikinci (sağ) tablodaki değerler NULL değerini alır.

Özetle; SQL LEFT JOIN ifadesi, ilk seçilen tablodaki tüm satırları ve ikinci seçilen tablodaki eşleşen satırları birleştirmek için kullanılır.

SQL LEFT JOIN kullanımı

SQL LEFT JOIN ifadesinin kullanımı aşağıdaki gibidir.

SELECT tablo_adi.sutun_adi, ...
  FROM tablo_A
  LEFT JOIN tablo_B ON tablo_A.sutun_adi = tablo_B.sutun_adi;

SQL JOIN kullanımında tablolara takma ad vermek sıklıkla yapılan bir işlemdir.

SELECT tablo_adi.sutun_adi, ...
  FROM tablo_A AS t1
  LEFT JOIN tablo_B AS t2 ON t1.sutun_adi = t2.sutun_adi;

Aşağıdaki örnekleri kullanarak tabloları birleştirelim.

kategoriler tablosunda bulunan veriler:

kat_id kat_adi
1 Bilgisayar
2 Telefon
3 Elektronik

urunler tablosunda bulunan veriler:

urun_id urun_adi urun_fiyat kat_id
1 Masaüstü Bilgisayar 1799 1
2 Akıllı Telefon 799 2
3 Dizüstü Bilgisayar 2199 1
4 SQL Kitabı 59 99

Örneklerde bulunan kategoriler tablosu kat_id ile urunler tablosundaki kat_id adlarına ve değerlerine dikkat edin.

Tüm kategorileri ve eşleşen ürünleri listeleyelim.

SELECT * FROM kategoriler LEFT JOIN urunler ON kategoriler.kat_id = urunler.kat_id;

Komut çalıştırıldığında iki tabloda bulunan veriler birbiriyle birleştirilecektir.

kat_id kat_adi urun_id urun_adi urun_fiyat kat_id
1 Bilgisayar 1 Masaüstü Bilgisayar 1799 1
1 Bilgisayar 3 Dizüstü Bilgisayar 2199 1
2 Telefon 2 Akıllı Telefon 799 2
3 Elektronik (NULL) (NULL) (NULL) (NULL)

Sorgu sonucu incelendiğinde kategoriler tablosunda bulunan tüm satırlar ve urunler tablosundaki eşleşen satırlar listelenmiştir.

Hayırlı günler dilerim.

Yusuf SEZER

Yusuf SEZER

Computer Engineer who interested about web technologies, algorithms, artificial intelligence and embedded systems; constantly exploring new technologies.


Bunlara'da bakmalısın!