SQL Join Nedir? Kullanımı

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

JOIN nedir?

Veri tabanı tasarımı ve tablo oluşturma sırasında tablolar çeşitli parçalara ayrılarak veri tekrarının önüne geçilmiş olur.

Parçalara ayrılan tablolar tek başına bir anlam ifade etmeyebilir.

Parçaların anlamlı olabilmesi için tabloların birleştirme işlemine tabi tutulması gerekir.

SQL JOIN ifadesi kullanılarak tablolar sanal olarak birleştirilir ve veriler anlamlı hale gelir.

Özetle; SQL JOIN ifadesi, tabloları birleştirmek için kullanılır.

NOT: JOIN iki veya daha fazla tabloyu birleştirmek için kullanılır.

SQL JOIN kullanımı

SQL join ifadesi kullanılan VTYS göre değişmekle beraber genellikle aşağıdaki gibidir.

SELECT tablo_adi.sutun_adi, ...
  FROM tablo_A
  {INNER JOIN | LEFT JOIN | RIGHT JOIN} tablo_B ON tablo_A.sutun_adi = tablo_B.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, urunler;

Bu birleştirme türü CROSS JOIN olarak adlandırılır.

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

Birleştirme için bir koşul belirtilmediğinden kategoriler tablosundaki her satır, urunler tablosundaki tüm satırlarla eşleşir.

Koşul belirterek sadece ilişkili olan sütunları birleştirmek için WHERE koşulu kullanılabilir.

SELECT * FROM kategoriler, urunler WHERE urunler.kat_id = kategoriler.kat_id;

Bu birleştirme türü INNER JOIN olarak adlandırılır.

SQL Join türleri

Çoğunlukla kullanılan join türleri şunlardır.

  • (INNER) JOIN: İki tablodaki eşleşen kayıtlar için kullanılır.
  • LEFT (OUTER) JOIN: İki tablodaki eşleşen kayıtlar ve eşleşmeyen sol kayıtlar için kullanılır.
  • RIGHT (OUTER) JOIN: İki tablodaki eşleşen kayıtlar ve eşleşmeyen sağ kayıtlar için kullanılır.
  • FULL (OUTER) JOIN: İki tablodaki eşleşen kayıtlar ve eşleşmeyen sol ve sağ kayıtlar için kullanılır. LEFT ve RIGHT JOIN birleşimidir.

SQL JOIN ayrıca ekleme, güncelleme ve silme işlemlerinde de kullanılabilir.

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!