SQL Join İşlemleri
Merhaba arkadaşlar,
Bugün sizlere SQL JOIN işlemlerinden bahsedeceğim. Veritabanı işlemleri içerisinde hayat kurtaran join işlemleridir. Birden fazla tabloyu birbirine bağlamaya yaramaktadır. Örnek vermek gerekirse personel tablosu ve bu personellerin türlerini içeren tablo olsun. Bu personel tablosu içerisinde türler ID’ler ile tutulmaktadır.
Personel Tablosu :
ID | PersonelNumarasi | PersonelAdi | PersonelTur |
1 | 000001 | Oğuzhan ÖZDEMİR | 1 |
2 | 000002 | Batuhan ÖZDEMİR | 2 |
3 | 000003 | Ahmet ÖZDEMİR | NULL |
Personel Türü :
ID | TurAdi |
1 | Yazılım Mühendisi |
2 | Proje Yöneticisi |
3 | Tasarım Uzmanı |
Bu tablolar örnek olması açısından incelenebilir. Personel tablosundaki tüm veriler çekilmek istendiğinde türün ayrıntısı da join işlemi ile bulunabilir.
Karmaşık tablolarda yapılan sorgular, istenen içeriğe göre değişiklik göstermektedir. Şimdi bunlardan bahsedelim. (Görsellerde gösterilen kümeler tabloları temsil etmektedir.)
1 Numaralı işlemde A ve B tabloları;
SELECT * FROM personel as personelLEFT JOIN personelturu as turON tur.ID = personel.PersonelTur
2 Numaralı işlemde A ve B tabloları;
SELECT * FROM personel as personelRIGHT JOIN personelturu as turON tur.ID = personel.PersonelTur
3 Numaralı işlemde A ve B tabloları;
SELECT * FROM personel as personelINNER JOIN personelturu as turON tur.ID = personel.PersonelTur
4 Numaralı işlemde A ve B tabloları;
SELECT * FROM personel as personelLEFT JOIN personelturu as turON tur.ID = personel.PersonelTurWHERE tur.ID IS NULL
5 Numaralı işlemde A ve B tabloları;
SELECT * FROM personel as personelRIGHT JOIN personelturu as turON tur.ID = personel.PersonelTurWHERE personel.ID IS NULL
6 Numaralı işlemde A ve B tabloları;
SELECT * FROM personel as personelFULL OUTER JOIN personelturu as turON tur.ID = personel.PersonelTur
7 Numaralı işlemde A ve B tabloları;
SELECT * FROM personel as personelFULL OUTER JOIN personelturu as turON tur.ID = personel.PersonelTurWHERE personel.ID IS NULL OR tur.ID IS NULL