SQL Server Veritabanında RIGHT JOIN Kullanımı

Önceki derslerimizde SQL cümlecikleri yazarak INNER JOIN ve LEFT JOIN kullanımını incelemiştik, aşağıdaki bağlantıdan INNER JOIN ve LEFT JOIN kullanımı ile ilgili yazıyı inceleyebilirsiniz. Daha önce belirttiğimiz gibi bu örnekleri standart SQL(Ansi SQL) olduğu için MySQL, PostgreSQL ve ORACLE gibi tüm veritabanlarında aynı şekilde kullanabilirsiniz. 

SQL INNER JOIN Kullanımı

SQL LEFT JOIN Kullanımı

Bu dersimizde SQL dilinde RIGHT JOIN, yani sağdan 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.  Departman tablosuna veri girerken Personel tablosunda olmayan birkaç departman da girelim. Yani Personel tablomuz solda, departman tablomuz sağda olacak.

tblpersonel tablosu Tasarımı



tbldepartman tablosu Tasarımı



Personel Tablosu Listesi



departman Tablosu Kayıtları



Aşağıdaki şekilde görüldüğü RIGHTJOIN işleminde sağ tablodaki (tablo2) tüm kayıtlar getirilir, sol taraftaki tablodan(tablo1) ise sadece sağdaki tablo ile eşleşenler getirilir. Yani örneğimiz için düşünecek olursak, Personel tablosu solda, departman tablosu sağda olsun. Departman tablosunda herhangi bir koşul aranmaksızın tüm kayıtlar getirilecektir. Personel tablosundan ise departman tablosundaki kayıtlar esas alınarak, sadece Departman tablosundaki departmanID alanı ile eşleşen personeller getirilecektir. Yani departmanID alanı NULL olan personel getirilmeyecektir.



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

SELECT alanlar FROM tablo1 RIGHT 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
RIGHT JOIN tbldepartman d
ON p.departmanID=d.departmanID

Bu sorgunun sonucunda aşağıdaki gibi bir sonuç dönecektir. Dikkat ederseniz sağ taraftaki Departman tablosu esas alındığı için personel tablosunda karşılığı olmayan yani henüz hiç bir personel içermeyen İletişi ve Destek departmanları da dönmüştür. 



Sonraki derslerimizde  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