Inner Join ve Outer Join


1- Inner Join
Tablo birleştirmek için kullanılan bir yöntemdir. Her iki tabloda da eşleşen ortak alanların olması gerekmektedir.
Birleştirme işlemi sadece iki tablo için kısıtlı olmamakla beraber, en fazla 256 adet tabloyu JOIN işlemine tabi tutabiliriz.
SELECT KullaniciAdi, KullaniciSoyAdi, ArkadasAd, ArkadasSoyad

FROM Kullanici K

JOIN Arkadas A

ON K.KullaniciID=A.KullaniciID
2- Outer Join

Inner Join, iki veya daha fazla tablodaki ilişlili bulunan satırları listelerken Outer Join, tabloda ilişkili olmayan satırları da gösterir.

Yani tablodaki tüm satırlar gösterilecektir. Ancak, ilişkisi olmayan satırlarda değer NULL olarak gösterilir.

Kullanışlarına göre Join tipi farklılık gösterir. 3 tip Join tipi vardır. 

A) LEFT OUTER JOIN: Bu kelimenin solundaki tablo belirleyici tablodur ve bu kullanım, bir ilişkisi bulunsun veya bulunmasın birinci tablodaki bütün satırları listeler. İkinci tabloda ise ilişkili satırlar listelenir. Eğer bir ilişki yoksa sağdaki tablo verileri NULL olarak gösterilecektir.



SELECT KullaniciAdi,ArkadasID
FROM Kullanici K LEFT JOIN Arkadas A
ON K.KullaniciID = A.ArkadasID




B) RIGHT OUTER JOIN: Bu kelimenin sağındaki tablo belirleyicic tablodur ve bu kullanım bir ilişkiye ait olsun veya olmasın ikinci tablodaki bütün satırları gösterir. Birinci tabloda ise ilişkili satırlar listelenir. Eğer bir ilişki yoksa soldaki tablo verileri NULL olarak gösterilecektir.

SELECT KullaniciAdi, KullaniciSoyAdi, ArkadasAd, ArkadasSoyad
FROM Kullanici K RIGHT JOIN Arkadas A
ON K.KullaniciID=A.KullaniciID


C) FULL OUTER JOIN: Left ve Right Outer Join’de karşılıklı olarak eşit satırı olmayan satırlar da listelenir. FULL OUTER JOIN, LEFT ve RIGHT OUTER JOIN’in birleşim kümesidir.

SELECT KUllaniciAdi, KullaniciSoyAdi, ArkadasAd, ArkadasSoyad
FROM Kullanici K FULL JOIN Arkadas A
ON K.KullaniciID=A.KullaniciID



By mert