Etiket arşivi: tsql join

Mssql join kullanımı

sql join

Sql join kullanımı nasıldır?

sql ile join işlemleri gerçekleştirebilmek için aşağıdaki örneği uygulayın.

Elimizde üç adet tablo olsun ve tablolar aşağıdaki gibi olsun

Tablo1: personel
Sütunları: personelid, adsoyad

Tablo2: departman
Sütunları: departmanid, departmantanimi

Tablo3: departmanindex
Sütunları: departmanindexid, departmanid, personelid

Yaptığımız her personel kaydı için ait olduğu departman bilgisini de çekeceğiz, ama bu departman bilgisini kayıt tekrarını önlemek için departman id si ile kaydedeceğiz, yani departman isimleri değil departmanların id numaraları tekrar edecek, bu sayede veritabanı hem daha organize bir şekilde oluşacak hem de kayıt tekrarı yüzünden şişmeyecek

Insert işlemini daha önce yaptığımızı düşünerek buna uygun select işlemi örneği aşağıdaki gibidir.


select

personel.adsoyad,
departman.departmantanimi

from personel

inner join departmanindex on departmanindex.departmanid = departman.departmanid
left outer join departmanindex on departmanindex.personelid = personel.personelid

Bu şekilde veritabanından personel ad ve soyadı birinci sütunda, bağlı olduğu departman ikinci sütunda olacak şekilde bir kayıt döndürebiliriz.

İlk joinde departman isimlerini inner join ile departmanindex tablosuna bağladık.

İkinci joinde left outer join yerine inner join kullanmış olsaydık sadece departman bilgisi olan personeller karşımıza çıkacaktı, right outer join veya full join kullanmış olsaydık herhangi bir personele bağlı olmayan departmanlar da personel adı ve soyadınının bulunduğu sütun null fakat departman bilgisinin bulunduğu sütunda bilgi var olacak şekilde kayıt dönecekti.

Diğer tüm kodlama yöntemlerinde olduğu gibi bu yöntemi de en iyi öğrenme yolu verilen örneği uygulamaktır, aklınıza takılan bir soru olursa çekinmeden sorabilirsiniz.