SQL Birleşimleri
SQL BİRLEŞTİRME
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 |
Farklı SQL JOIN Türleri
SQL'deki farklı JOIN türleri şunlardır:
(INNER) JOIN
: Her iki tabloda da eşleşen değerlere sahip kayıtları döndürürLEFT (OUTER) JOIN
: Soldaki tablodaki tüm kayıtları ve sağdaki tablodaki eşleşen kayıtları döndürürRIGHT (OUTER) JOIN
: Sağdaki tablodaki tüm kayıtları ve soldaki tablodaki eşleşen kayıtları döndürürFULL (OUTER) JOIN
: Sol veya sağ tabloda bir eşleşme olduğunda tüm kayıtları döndürür