Sql Inner Join

Posted by

Selam arkadaşlar,  bu yazımda sizlere Sql Inner Join konusundan bahsedeceğim sizlere.

Sql Inner Join birden çok tabloda sorgulama yapıp ilişkili olan kayıtların sonucunu döndürmeyi sağlar. Birden çok tabloyu da birleştirme yöntemi de diyebiliriz. Inner Join en çok kullanılan join türlerinden birisidir. Sql Sunucusunda varsayılan join türüdür. Inner Join yerine Join yazarak da bu işlemi gerçekleştirebiliriz.

Inner Join komutunu nasıl kullanacağız, hemen örneklendirerek açıklamak istiyorum.


SELECT KolonAdi
FROM Tablo1
INNER JOIN Tablo2
ON Tablo1.KolonAdi = Tablo2.KolonAdi

Yukarıdaki örnekte inner join ile bir komut yazdık. Tablo1 ile Tablo2 de bulunan kayıtları join ile ON komutundan sonra hangi alanlarımızın uyuşmasını istiyorsak onları yazıyoruz. Örneğin iki tablo içinde ortak olan Id alanı eşitlemesi yapabilir ve sonucu listeleyebiliriz.

Örneğin bir Sipariş ve Müşteri tablomuz olsun. Siparişlerimizin listesini göstermek istiyoruz ve aynı zamanda bu siparişin hangi müşteriye ait olduğunu yani müşteri bilgilerini de göstermek istiyoruz. Örnek kodumuzu paylaşıyorum.

Aşağıdaki örnek kodumuzu inceleyelim.


SELECT S.SiparisId,
S.SiparisTarihi,
M.MusteriAdi
FROM Siparisler S
INNER JOIN Musteriler M
ON S.MusteriId = M.MusteriId

Yukarıdaki örneğimizde Siparisler ve Müşteriler tablosunda MusteriId alanlarının eşleştirmesini yapıp iki tabloda da ortak olan değerlerin listelenip gösterilmesini sağlamış olduk. Join komutlarını yazarken Tablolarımıza takma isim(alias) vererek kullanırsak ve bunların kullanımını da ona göre yaparsak herhangi bir hata çıkmayacaktır. Diğer türlü takma isim ya da tablo belirtmeden bir kolonu komut içerisinde yazarsak diğer tabloda da benzer alan varsa bir hata gösterecektir. Çünkü iki tabloda da aynı kolon ismi mevcut hangisini dikkate alacağını belirtmemiz gerekiyor.

Bir sonraki yazıda görüşmek üzere…

Leave a Reply

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir