SQL dilinde İki tabloyu birleştirerek sorgulama

Bu yazımızda, SQL dilinde İki tabloyu birleştirerek sorgulama işlemini inceleyeceğiz. Personel ve departman tablolarını tek sorguda birleştireceğiz. Aşağıdaki gibi önce tblpersonel isimli personel tablosunu oluşturunuz. departmanID isimli bir alan eklediğimize dikkat ediniz. Burada personelID alanımız primary key(birincil anahtar) alandır, departmanID alanı ise bu tabloda foreign key(yabancı anahtar) alanıdır. 




Yukarıdaki tabloyu oluşturduktan sonra tbldepartman isimli aşağıdaki tabloyu oluşturunuz. Bu tablodaki departmanID ile tblpersonel arasındaki departmanID'yi birbirine bağlayacağız.



Daha sonra aşağıdaki şekilde tbldepartman tablosuna kayıt giriniz.



Daha sonra tblpersonel tablosuna aşağıdaki kayıtları giriniz.



 
Şimdi personel ve departman tablolarını birleştirip sorgulayacak bir SQL sorgusu yazalım. Görüldüğü gibi tblpersonel tablosunda departmanID değerlerinin hepsi girilmiştir ve tbldepartman tablosundaki karşılığı vardır.



Burada normalizasyonu sağlamak amacıyla departman alanı ayrı bir tablo olarak ayrılmıştır, yoksa tblpersonel tablosuna DEPARTMAN alanı ekleyebilirdik. 

SELECT p.ADI, p.SOYADI, d.DEPARTMAN 
from tblpersonel p, tbldepartman d 
WHERE p.departmanID= d.departmanID
 
Sorgu sonucu aşağıdaki gibi dönecektir. Burada kolaylık olsun diye tlbpersonel tablosunu p ile tbldepartman tablosunu ise d ile kısalttık. Burada yaptığımız p ve d gibi özel isimlendirmelere ALIAS(takma isim) ismini veriyoruz. 

İsterseniz hiç kısaltma yapmadan aşağıdaki gibi direkt olarak tablo isimlerini her alan için uzun uzun yazarak da aynı işlemi yapabilirsiniz. 

SELECT tblpersonel.ADI, tblpersonel.SOYADI, tbldepartman.DEPARTMAN 
from tblpersonel, tbldepartman
WHERE tbldepartman.departmanID= tblpersonel.departmanID

 

Bu dersimizde SQL komutları kullanarak personel ve departman tablolarını departmanID alanı üzerinden birleştirdik. Üç veya daha fazla tabloyu benzer şekilde WHERE şartından sonra AND ifadeleri kullanarak bağlayabilirsiniz.  Daha sonraki derslerimizde istediğimiz kadar tabloyu bu şekilde bağlayacağız.

Aşağıdaki konular da ilgilinizi çekebilir.


Mutlu kodlamalar,
Oğuzhan TAŞ
Ekim, 2018
Bookmark and Share
Dil Değiştir(Change Language)