
Sql Join Sorguları Oluşturma
Sql yazı dizimizde sıra , bir çok kez ihtiyacımız olan birden fazla tablo üzerinde çalışma durumudur.Veri tabanı sistemlerinde tutulan veriler tek bir tablo üzerinde değil ; normalizasyon kurallarına göre çeşitli tablolar üzerinde tutulur.Bunun sebebi ilişkisel veri tabanı mantığı üzerinden sağlıklı veri modelleri oluşturmaktır.Sql üzerinde birden fazla tablo için belirli sorgu kalıpları kullanılır.Yine iş senaryomuz üzerinde temel mantıkları oturtmaya çalışalım.
Veri tabanımızda "personel" ve "bolumler" isimli iki adet tablo olsun."bolumler" isimli tablomuzda iki adet sütun bulunsun.Bunlar : "bolum_adi" ve "bolum_id" olsun.
"personel" tablosunda 500 kayıt gibi bir sayı olduğunu düşünürsek ; her bir personel için "bolum_adi" gibi bir değer tutulması yerine "bolum_id" gibi bir değer tutmak kaynak kullanımı açısından daha mantıklı bir yöntem olacaktır.Ancak personel verilerini listelerken kullanıcılar karşılarında bir sayı görmeyi elbette ki istemeyecektir.Bu durumda iki tablo üzerinde öyle bir ilişki kurabilmeliyiz ki "personel" tablosu üzerinde olmayan bir alanı sorgu ile dinamik şekilde gösterebilmeliyiz.
NASIL ?
Select personel.personel_adi,personel.personel_soyadi, bolumler.bolum_adi//seçmek istediğimiz sütun isimlerini from personel , bolumler //tablo isimleri where personel.bolum_id=bolumler.bolum_id //birleştirme işlemi ortak sütuna göre gerçekleşiyor
Yukarıdaki kod sayesinde iki tablo üzerindeki ortak alanlara dayanarak birleştime işlemini yaptık.Yukarıdaki kod ile gerçekleştirilen işlemi join sorgularıyla da gerçekleştirmemiz mümkündür.
INNER JOIN -->İki tablo üzerinde ortak alan eşitliğine dayalı birleştirme işlemi yapar.
Select personel.personel_adi,personel.personel_soyadi, bolumler.bolum_adi from personel inner join bolumler//tablo isimleri.. on personel.bolum_id=bolumler.bolum_id//ortak sütuna göre
Sql Server üzerinde çalışan ekran görüntümüz ==>

Inner join dışında , left outer ve right outer join çeşitleri de bulunmaktadır ; ancak en gerekli birleştirme çeşidi inner join yöntemidir. Yeni bir paylaşımda buluşmak dileğiyle..
- Yorum yazmak için giriş yapın veya kayıt olun




