SQL Server Veritabanında LEFT JOIN Kullanımı

Önceki derslerimizde SQL cümlecikleri yazarak INNER JOIN kullanımını incelemiştik, aşağıdaki bağlantıdan INNER JOIN ileile ilgili yazıyı inceleyebilirsiniz.

SQL INNER JOIN Kullanımı

Bu dersimizde SQL dilinde LEFT JOIN, yani soldan birleştirme kullanımını inceleyeceğiz. Bu işlem için daha önce yaptığımız gibi Personel ve Departman isimli iki tablo oluşturup veri giriyoruz.  Personel tablosuna veri girerken birkaç tane kaydın departmanID alanını boş bırakınız.  

tblpersonel tablosu Tasarımı



tbldepartman tablosu Tasarımı



Personel Tablosu Listesi



departman Tablosu Kayıtları



Aşağıdaki şekilde görüldüğü LEFT OUTER JOIN işleminde sol tablodaki (tablo1) tüm kayıtlar getirilir, sağ taraftaki tablodan(tablo2) ise sadece soldaki tablo ile eşleşenler getirilir. Yani örneğimiz için düşünecek olursak, Personel tablosu solda, departman tablosu sağda olsun. Personel tablosunda herhangi bir koşul aranmaksınız departmanID alanı NULL yani boş olan tüm kayıtlar getirilecektir, Departman tablosundan ise personel tablosunda geçen departmanID ile eşleşen departmanlar getirilecektir. Yani departman tablosundan seçilenler hep personel tablosunda karşılığı olanlar olacaktır. 



 
Örnek vermeden önce, LEFT OUTER JOIN'in  yazım formatına bakalım

SELECT alanlar FROM tablo1 LEFT JOIN tablo2 ON tablo1'deki ID alan= tablo2'deki ID alan

Yukarıdaki formata göre SQL Sorgumuz şöyle olacaktır.

select p.ADI, p. SOYADI, d.DEPARTMAN
FROM tblpersonel p
LEFT JOIN tbldepartman d
ON p.departmanID=d.departmanID

Bu sorgunun sonucunda Personel tablosunda NULL olan tüm kayıtlar gelecektir. Aşağıdaki sorgu sonucunda görüldüğü gibi Personel tablosuan eklediğimiz departmanID alanı boş bırakılan Defne Dertli kaydı da gelmiştir. 



Sonraki derslerimizde RIGHT OUTER JOIN VE FULL OUTER JOIN kullanımını inceleyeceğiz, derslerimizi takip etmeye devam edin, konulara sıralı şekilde ulaşmak isterseniz en üstte yer alan SQL Server menüsüne tıklayabilirsiniz. 
 
Mutlu kodlamalar,
Oğuzhan TAŞ
Aralık 2018
Bookmark and Share