MySQL Katılımları
MySQL Birleştirme Tabloları
Bir JOIN
yan tümce, aralarında ilgili bir sütuna dayalı olarak iki veya daha fazla tablodaki satırları birleştirmek için kullanılır.
"Siparişler" tablosundan bir seçime bakalım:
OrderID | CustomerID | OrderDate |
---|---|---|
10308 | 2 | 1996-09-18 |
10309 | 37 | 1996-09-19 |
10310 | 77 | 1996-09-20 |
Ardından, "Müşteriler" tablosundan bir seçime bakın:
CustomerID | CustomerName | ContactName | Country |
---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mexico |
"Siparişler" tablosundaki "MüşteriKimliği" sütununun "Müşteriler" tablosundaki "MüşteriKimliği"ne atıfta bulunduğuna dikkat edin. Yukarıdaki iki tablo arasındaki ilişki "CustomerID" sütunudur.
INNER JOIN
Ardından, her iki tabloda da eşleşen değerlere sahip kayıtları seçen aşağıdaki SQL ifadesini (bir içeren ) oluşturabiliriz:
Örnek
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;
ve şöyle bir şey üretecek:
OrderID | CustomerName | OrderDate |
---|---|---|
10308 | Ana Trujillo Emparedados y helados | 9/18/1996 |
10365 | Antonio Moreno Taquería | 11/27/1996 |
10383 | Around the Horn | 12/16/1996 |
10355 | Around the Horn | 11/15/1996 |
10278 | Berglunds snabbköp | 8/12/1996 |
MySQL'de Desteklenen Birleştirme Türleri
INNER JOIN
: Her iki tabloda da eşleşen değerlere sahip kayıtları döndürürLEFT JOIN
: Soldaki tablodaki tüm kayıtları ve sağdaki tablodaki eşleşen kayıtları döndürürRIGHT JOIN
: Sağdaki tablodaki tüm kayıtları ve soldaki tablodaki eşleşen kayıtları döndürürCROSS JOIN
: Her iki tablodaki tüm kayıtları döndürür