Herkese Merhaba,
Veri tabani çalismalarinizda bazen birden fazla tablo ile çalismanizi gerektiren durumlar ortaya çikabilir bu durumlarda ne yapmalisiniz? hangi ifadeleri kullanmalisiniz?
Bu makalemde sizlere bu tarz durumlarda kullanmaniz gereken JOIN ifadesinden ve kullanimindan bahsedecegim. JOIN(Birlestirici) tek sorgu ile iki veya daha fazla tablonun bir biri ile iliskili alanlarini kullanarak bir sonuç tablosu elde etmenizi saglar. Örnegin okullarin ve ögrencilerin bulundugu iki adet tablomuz oldugunu varsayalim. Ögrenciler tablomuzda bulunan OkulID alani ile okullar tablomuzda bulunan ID alanlarimiz bir biri ile iliskili alanlardir. Bu alanlari kullanarak hangi ögrencinin hangi okula ait oldugunu ve bu okula ait diger bilgilere JOIN birlestiricisi kullanarak rahatlikla erisebiliriz.
3 Adet JOIN birlestiricisi bulunmaktadir.
- Inner JOIN (Iç Birlestirici)
- Outer JOIN (Dis Birlestirici)
- Cross JOIN (Çapraz birlestirici)
O halde birazda JOIN birlestiricilerinin kullanimindan bahsedeyim.
Select sorgusu ile kullanilan JOIN ifadesi ile iki veya daha fazla tablo arasinda sorgulama islemi yapilabilir. JOIN ifadesi hangi tablo ile birlikte çalisacaginizi belirtmek için kullanilir. Daha sonrasinda ON ifadesi kullanilarak bu tablolar arasinda birlestirmek istediginiz bir biri ile iliskili olan alanlari belirtmeniz gerekir. Iliskili olan alanlarin veri tipinin ayni olmasi gerekmektedir. Sorgunuzda kullanmak istediginiz alan adlarinin basina hangi tabloya ait oldugunu belirtmek için tabloAdi.alanAdi olarak kullanmaniz gerekir veya JOIN ifadesi ile birlikte belirttiginiz tablo adindan sonra AS ifadesini kullanarak tablonuz için bir kisaltma kullanabilirsiniz. Ikiden fazla tabloyu birbirine baglamak için ise ON ifadelerinden sonra diger JOIN ifadesi ile kullanmak istedigimiz diger tablonun adi ardinda tekrar ON ifadesi ile iliskili alanlar belirtilir.
Örnegin :
Iki tabloyu birbirine baglamak
Select t1.alanAdi, t2.alanAdi from tablo1 AS t1 Inner Join tablo2 AS t2 ON t1.iliskiliAlan = t2.iliskiliAlan
Ikiden fazla tabloyu birbirine baglamak
Select t1.alanAdi, t2.alanAdi,t3.alanAdi from tablo1 AS t1 Inner Join tablo2 AS t2 ON t1.iliskiliAlan = t2.iliskiliAlan Inner Join tablo3 AS t3 ON t1.iliskilAlan = t3.iliskiliAlan
Yazılım Geliştirici & Yazılım Uzmanı