Sql Join Kullanımı

Sql join yapısı, ilişkisel veritabanı içerisinde raporlama yaparken kullanılan yegane yapıdır. Birden fazla tablodan veri çekilerek mantıklı bir rapor yazılmak isteniyorsa, sql join komutu muhakkak kullanılmalıdır. Tabi Sql join yapısının kullanılabilmesi için üzerinde çalıştığımız veritabanı, ilişkisel veritabanı olmalıdır. Veritabanı dizaynı yapılırken ilişki türleri doğru yapılmalı ve veri tekrarından kaçınılmalı. Veritabanı oluşturma ile ilgili detaylı bilgi için tıklayın. Join yapıları view yapılarında da sıklıkla kullanılır.

Not : Sql join yapısını Logo veritabanı üzerinden örnek vererek işleyeceğiz.

logo tablo yapısı

SQL Join Türleri :

Sql İnner Join Kullanımı :   

İnner Join nedir?

Sorgu içerisindeki tablolardan ortak olan kayıtları listeler, farklı bir şekilde ifade etmek gerekirse iki tablonun kesişimini döndürür. Eşleşmeyen veriler null (boş) döner.

sql inner join kullanımı

Örnek :

SELECT STL.INVOICEREF , INV.LOGICALREF, * FROM LG_005_01_INVOICE INV INNER JOIN LG_005_01_STLINE STL ON STL.INVOICEREF = INV.LOGICALREF INNER JOIN LG_005_ITEMS ITM ON ITM.LOGICALREF = STL.STOCKREF

inner join 3 tablo birleştirme

Verilen örneği incelemek gerekirse; Stline,Invoice ve Items tablosu inner join ile birleştirilmiş ve sonuç ekranı yukarıdaki gibi dönmüştür. İlk iki kolon İnvoiceref ve logicalref (invoice tablosundaki) aynı değerlere sahiptir yani birbirinin referansıdır. Diğer kolonlar ise iki tablonun kesişimlerini verir.

inner join kullanımı mysql

Sql Left Join Kullanımı: 

Left Join Nedir? 

Sorgu içerisindeki ifadenin sol tarafındaki tabloya/tablolara göre veri döndürür. Yani sol taraftaki tablonun verileri ve diğer tablolarda eşleşen veriler tam olarak gelir, diğer tablolardaki eşleşmeyen kolonlar ise null (boş) döner.

sql left join kullanımı

Sql Tablo Birleştirme Örnekleri :

SELECT STL.INVOICEREF , INV.LOGICALREF, * FROM LG_005_01_INVOICE INV LEFT JOIN LG_005_01_STLINE STL ON STL.INVOICEREF = INV.LOGICALREF

sql left outer join

Verilen örneği incelemek gerekirse; Stline ve Invoice tablolarını left join ile birleştirilmiş ve sonuç ekranı yukarıdaki gibi dönmüştür. Örnekte invoice tablosu, ifadenin sol tarafında olduğu için null dönen değerler invoice tablosunda olup, stline tablosunda olmayan kolonlardır.

left join ile left outer join arasındaki fark

Sql Right Join Kullanımı :

Right Join Nedir?

Sorgu içerisindeki ifadenin sağ tarafındaki tabloya/tablolara göre veri döndürür. Yani sağ taraftaki tablonun verileri ve diğer tablolarda eşleşen veriler tam olarak gelir, diğer tablolardaki eşleşmeyen kolonlar ise null (boş) döner.

sql right join kullanımı

Sql Join Kullanımı Örnekleri :

SELECT STL.INVOICEREF , INV.LOGICALREF, * FROM LG_005_01_INVOICE INV RIGHT JOIN LG_005_01_STLINE STL ON STL.INVOICEREF = INV.LOGICALREF

natural join nedir

Verilen örneği incelemek gerekirse; Stline ve Invoice tablolarını right join ile birleştirilmiş ve sonuç ekranı yukarıdaki gibi dönmüştür.

İlk yorum yapan olun

Bir yanıt bırakın

E-posta hesabınız yayımlanmayacak.


*