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.
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.
Ö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
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.
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 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
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.
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 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
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.
Bir yanıt bırakın