SQL RIGHT Join Nedir? Kullanımı

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

RIGHT JOIN nedir?

SQL right join SQL Join türlerinden biridir.

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

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

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

SQL RIGHT JOIN kullanımı

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

SELECT tablo_adi.sutun_adi, ...
  FROM tablo_A
  RIGHT 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
  RIGHT 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 ürünleri ve eşleşen kategorileri listeleyelim.

SELECT * FROM kategoriler RIGHT 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
(NULL) (NULL) 4 SQL Kitabı 59 99

Sorgu sonucu incelendiğinde urunler tablosunda bulunan tüm satırlar ve kategoriler 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!