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 .

Bunu beğen
Paylaş

Yorumlar
Yorum Yaz
İsim : (*)
E-mail :
Web Adresi:
:
(*)
 
Kapat