SQL INNER Join Nedir? Kullanımı

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

INNER JOIN nedir?

SQL inner join SQL Join türlerinden en çok kullanılan tablo birleştirme türüdür.

SQL inner join iki veya daha fazla tablodaki ilişkili değerleri seçmek/birleştirmek için kullanılır.

Özetle; SQL INNER JOIN ifadesi ortak değere sahip tabloları birleştirmek için kullanılır.

SQL INNER JOIN kullanımı

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

SELECT tablo_adi.sutun_adi, ...
  FROM tablo_A
  INNER 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
  INNER 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_idkat_adi
1Bilgisayar
2Telefon
3Elektronik

urunler tablosunda bulunan veriler:

urun_idurun_adiurun_fiyatkat_id
1Masaüstü Bilgisayar17991
2Akıllı Telefon7992
3Dizüstü Bilgisayar21991
4SQL Kitabı5999

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

İki parçaya ayrılan tabloları birleştirerek kategorilerde bulunan ürünleri listeleyelim.

Bunun için Join kullanabileceğimiz gibi iki tabloyu aşağıdaki gibi sırayla yazarak birleştirebiliriz.

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

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

kat_idkat_adiurun_idurun_adiurun_fiyatkat_id
1Bilgisayar1Masaüstü Bilgisayar17991
1Bilgisayar3Dizüstü Bilgisayar21991
2Telefon2Akıllı Telefon7992

Sorgu sonucu incelendiğinde urunler ve kategoriler tablosundaki ortak verilerin listelendiği ortak olmayan verilerin ise listelenmediği görülecektir.

Birden fazla tabloda bulunan verinin birleştirilmesi için tekrar INNER JOIN eklenmesi yeterli olacaktır.

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

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!