TOP

SQL Birleşimleri

SQL JOIN

JOIN ifadesi, iki veya daha fazla tablodaki satırları, aralarındaki ilgili sütuna göre birleştirmek için kullanılır.


"Orders" ("Siparişler") tablosundan bir örneğe bakalım:

ProductIDOrderIDCustomerIDEmployeeIDOrderDateShipperID
1102489051996-07-043
2102498161996-07-051
3102503441996-07-082

Ardından "Customers" ("Müşteriler") tablosundaki örneğe bakın:

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.5021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.5023Mexico

"Orders" tablosundaki "CustomerID" sütununun "Customers" tablosundaki "CustomerID" anlamına geldiğini unutmayın. Yukarıdaki iki tablo arasındaki ilişki "CustomerID" sütunudur.

Daha sonra her iki tabloda da eşleşen değerlere sahip kayıtları seçen aşağıdaki SQL ifadesini (INNER JOIN içeren) oluşturabiliriz:

Run SQLSELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID

ve bu şunun gibi bir şey üretecek:

OrderIDCustomerNameOrderDate
10308Ana Trujillo Emparedados y helados1996-09-18
10365Antonio Moreno Taquería1996-11-27
10355Around the Horn1996-11-15
10383Around the Horn1996-12-16
10289B's Beverages1996-08-26

Farklı SQL türleri JOIN

SQL'de farklı JOIN türleri şunlardır:

  • (INNER) JOIN: Her iki tabloda da eşleşen değerlere sahip kayıtları döndürür
  • LEFT (OUTER) JOIN: Sol tablodaki tüm kayıtları ve sağ tablodaki karşılık gelen kayıtları döndürür
  • RIGHT (OUTER) JOIN: Sağ tablodaki tüm kayıtları ve sol tablodaki eşleşen kayıtları döndürür
  • FULL (OUTER) JOIN: Sol veya sağ tabloda eşleşme varsa tüm kayıtları döndürür


  • SQL INNER JOIN SQL LEFT JOIN SQL RIGHT JOIN SQL FULL OUTER JOIN