21 Temmuz 2019, Pazar
Ana Sayfa / Manşet / Sql Server inner join, right join, left join, full outer join

Sql Server inner join, right join, left join, full outer join

INNER JOIN (İç Birleştirici): 

SQL Server’de varsayılan seçenek olup iki tabloyu JOIN ifadesinde belirtilmiş olan kolon veya kolonların eşitliğine göre birleştirir. Bu seçenekte tablolar her iki tarafta ortak olan kolonlar üzerinden birleştirilir. Tablo arasındaki eşitlik için genellikle = veya <> operatorleri kullanılır. Örneğin hem Ürün hem de Carikartlar tablosunda olan ürün kayıtlarını çekmek için INNER JOIN türü kullanılır. Yani bire bir ilişki için tercih edilir. Yazım biçimi olarak INNER JOIN yazılabileceği gibi sadece JOIN sözcüğü de yazılabilir.

Yukardaki görsel sizlere tüm join işlemlerini özetleyen bir görseldir.

OUTER JOIN (Dış Birleştirici): 

INNER JOIN gibi iki tablo arasında ortak kolonlar üzerinden bağlantı kurar farklı olarak tablolarda karşılığı olmayan satırlar da gelir. İkinci tabloda karşılığı olmayan satırlar NULL olarak döner. 

LEFT JOIN veya LEFT OUTER JOIN : 

Bu seçenekte ifadenin solunda ismi yazan tablodaki tüm satırlar listelenir, sağ taraftaki tabloya ait kolonlar ise null olarak döner.

RIGHT JOIN veya RIGHT OUTER JOIN : 

Bu seçenekte ifadenin sağında ismi yazan tablodaki tüm satırlar listelenir, sol taraftaki tabloya ait kolonlar ise null olarak döner.
Önceki örneğe benzer olarak ürünü olmayan CariKartları listeleyebiliriz. Bunun için ilgili tabloları yazdıktan sonra LEFT JOIN yerine RIGHT JOIN ifadesini kullanıp WHERE bölümünü aşağıdaki gibi düzeltmemiz yeterli olacaktır.