Inner Join – Left Join – Full Join

Tablo birleştirmek için kullandığımız Join’lerin birkaç örneği burada mevcut. Join konusu biraz kapsamlı olduğu için diğer çeşitlerinide not almak istedim.

Join yapısını hatırlayacak olursak;

[cc lang=”sql”]SELECT kolon_adi
FROM tablo_adi
JOIN tablo_adi2
ON tablo_adi.kolon_adi=tablo_adi2.kolon_adi[/cc]

gibiydi…

Inner Join : Koşulları dışlayan yani her iki tabloda eşleşenleri getiren sorgu tipi, Null yani boş olanları göstermez!

Left Join – Right Join : Left ile soldaki tablodaki tüm kayıtları getirerek sağdaki sadece eşleşenleri getirmemize sağlar. Right ile yapıldığında ise tam tersi…

Full Join : Adı üzerinde tüm değerleri getirmemizi sağlıyor. Left Join – Right Join’in bir araya getirilmiş gibi de düşünebiliriz.

“Inner Join – Left Join – Full Join” üzerine 2 yorum

    1. Tabi ki yapabilirsin hatta 5 tabloda bile örnek Northwind üzerinde Siparis No, Urun Adı, Satın Alan Firma, Kargo Şirketi, Satış Yapan Personel listesini veren sorgu ;

      [cc lang=”sql”]SELECT
      o.OrderID AS [Siparis No],
      p.ProductName AS [Urun Adı],
      c.CompanyName AS [Satın Alan Firma],
      s.CompanyName AS [Kargo Şirketi],
      CONVERT(NVARCHAR,e.EmployeeID) + ‘ ‘ +e.FirstName + ‘ ‘ + e.LastName AS [Satış Yapan Personel]
      FROM Orders o
      FULL JOIN [Order Details] od ON od.OrderID = o.OrderID
      FULL JOIN Products p ON p.ProductID = od.ProductID
      FULL JOIN Customers c ON c.CustomerID = o.CustomerID
      FULL JOIN Shippers s ON s.ShipperID = o.ShipVia
      FULL JOIN Employees e ON o.EmployeeID = e.EmployeeID
      ORDER BY [Siparis No],[Urun Adı],[Satın Alan Firma],[Kargo Şirketi],[Satış Yapan Personel][/cc]

      Full yapınca Null değerlerde geliyor ama idare et artık 🙂

Bir cevap yazın

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