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_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.
İ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_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 |
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.