SQL RIGHT JOIN Kullanımı
RIGHT JOIN ile iki adet tablomuzdaki kayıtları belli bir kritere göre birleştirebiliriz. Burada asıl olan ikinci tablodaki kayıtlardır. Birinci tablodan sadece ikinci tabloda olan kayıtlar alınır. Birinci tabloda olupta ikinci tabloda olmayan alanların değeri boş (NULL) olarak gelecektir
RIGHT JOIN kullanımı JOIN yapıları içerisinde en az kullanılanıdır. RIGHT JOIN yerine tabloların yerini değiştirip LEFT JOIN kullanımı daha yaygındır.
RIGHT JOIN Kullanım Biçimi
SELECT alan_ad(lari)
FROM tablo1 RIGHT JOIN tablo2
ON tablo1.alan_adi=tablo2.alan_adi |
veya
SELECT alan_ad(lari)
FROM tablo1 OUTER JOIN tablo2
ON tablo1.alan_adi=tablo2.alan_adi |
NOT: RIGHT JOIN yerine OUTER JOIN de kullanılabilir.
Burada görüleceği üzere From ifadesi ile birinci tablomuzu ve ardından RIGHT JOIN
(veya OUTER JOIN) ile ikinci tablomuzu yani asıl kayıtların baz alınacağı tablomuzu belirtmiş oluyoruz. ON ile hangi alanların
eşitleneceği gösterilmektedir. İkinci tabloda ki bütün kayıtlar seçilir. Buna karşılık eşitlenen alanlara bakılarak birinci tablodan sadece ikinci tabloda olan kayıtlar seçilir.
Mesela id_no
alanına göre eşitleme yapılırsa ikinci tabloda id_no alanında 3,4,9,10,11,15 kayıtları
ve birinci tabloda id_no alanında 1,2,3,4,5,6,7 kayıtları varsa; ikinci tablodaki bütün kayıtlar alınırken (kurala göre ikinci tablo asıl tablomuzdur) birinci
tablodan sadece ikinci tablodakine eşit olan kayıtlar alınır.
Yani birinci tablodan sadece 3 ve 4 id nolu kayıtlar alınır.
Örnek Tablo Uygulaması:
Örnek olarak aşağıdaki gibi Personel isimli
tablomuz olsun.
id |
Adi_soyadi |
Departman_id |
1 |
Salih ESKİOĞLU |
2 |
2 |
Ayhan ÇETİNKAYA |
|
3 |
Serkan ÖZGÜREL |
4 |
4 |
İlhan ÖZLÜ |
1 |
İkinci tablomuz ise Departmanlar tablosu olsun.
id |
Departman_ad |
1 |
Muhasebe |
2 |
Bilgi İşlem |
3 |
Satış |
4 |
Pazarlama |
Örnek:
SELECT *
FROM Personel RIGHT JOIN Departmanlar
ON personel.departman_id=departmanlar.id
Personel tablosunda her personelin çalıştığı departman id olarak belirtilmiş. Bu
kod ile hangi departmanda hangi personelin çalıştığı bilgisi alınacaktır.
Çıktısı:
id |
Adi_soyadi |
Departman_id |
id |
Departman_ad |
4 |
İlhan ÖZLÜ |
1 |
1 |
Muhasebe |
1 |
Salih ESKİOĞLU |
2 |
2 |
Bilgi İşlem |
|
|
|
3 |
Satış |
3 |
Serkan ÖZGÜREL |
4 |
4 |
Pazarlama |