SQL de iki tabloyu aynı anda seçmek (JOIN ya da WHERE )
Merhaba .
Bu makalede Sql de birden fazla tablodan aynı anda nasıl kayıt çekileceğini inceliyoruz.
Bu işlemin yapılabilmesi için birleştirilecek iki tablo arasında bir ilişki olmalıdır. Örneğin öğrenciler tablosu ile bölümler tablomuz var olsun ,bu iki tablonun birleştirilmesi için iki tablonun ortak bir alanı olmalı örneğim bölüm_no . Bu ortak alan sayesinde iki tablo arasında ilişki kurulabilir.
SQL de tablo birleştirmeni temel 2 yolu vardır ilki klasik where kullanılarak , diğeri ise Join ile yapılmaktadır.
Where ile Örnek kullanım :
Select tablo1.alan1,tablo2.alan1,tablo1.alan3…
where tablo1.id_alanı = tablo2.id_alanı
Join ile Örnek Kullanım :
Select tablo1.alan1, tablo2.alan1, tablo1.alan2 ..
FROM tablo1 INNER JOIN tablo2
ON
tablo1.id_alanı = tablo2.id_alanı
Şimdi yukarıda belirtilrn Ogrenci ve Bolum tabloları ile örnek bir uygulama yapalım.
Database olarak SQL Server 2005 Express kullanılacaktır.
Tablolarımız Aşağıdaki gibi olacak :
Bolum Tablosu

Ogrenci Tablosu

Bolum Tablosu Verileri

Ogrenci Tablosu Verileri

Tabloların ortak alanları BolumNo .
İki tablonun arasındaki ilişki aşğaıdaki gibi olmakta.

Şimdi iki tablodaki tüm önce WHERE ile sonra da INNER JOIN ile verileri tek sorguda getirelim.
WHERE İLE
SELECT Bolum.BolumNo, Bolum.BolumAdi, Ogrenci.OgrNo, Ogrenci.OgrAdi
FROM Ogrenci, Bolum
Where
Ogrenci.BolumNo=Bolum.BolumNo
INNER JOIN İLE
SELECT Bolum.BolumNo , Bolum.BolumAdi, Ogrenci.OgrNo, Ogrenci.OgrAdi
FROM Ogrenci
INNER JOIN
Bolum
ON
Ogrenci.BolumNo = Bolum.BolumNo
Her iki durumda da elde edilen kayıtlar aynı olacaktır .
