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:
ProductID | OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
---|---|---|---|---|---|
1 | 10248 | 90 | 5 | 1996-07-04 | 3 |
2 | 10249 | 81 | 6 | 1996-07-05 | 1 |
3 | 10250 | 34 | 4 | 1996-07-08 | 2 |
Ardından "Customers" ("Müşteriler") tablosundaki örneğe bakın:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 5021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 5023 | Mexico |
"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:
OrderID | CustomerName | OrderDate |
---|---|---|
10308 | Ana Trujillo Emparedados y helados | 1996-09-18 |
10365 | Antonio Moreno Taquería | 1996-11-27 |
10355 | Around the Horn | 1996-11-15 |
10383 | Around the Horn | 1996-12-16 |
10289 | B's Beverages | 1996-08-26 |
SQL'de farklı JOIN türleri şunlardır: