SQL’de JOIN

Bir SQL JOIN sorgu tümcesi, aralarında ortak bir alanı temel alan iki veya daha fazla tablodaki satırları birleştirmek için kullanılır.

En yaygın birleştirme türüdür: SQL INNER JOIN (Basit Birleşim). SQL iç birleşim birleştirme koşulu buluştuğu tüm satırları birden çok tabloda döndürür.

"Orders" tablosundan bir seçime bakalım:

OrderID

CustomerID

OrderDate

10308

2

1996-09-18

10309

37

1996-09-19

10310

77

1996-09-20

Sonra "müşteriler" tablosundan bir seçime göz atı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

"Orders" tablosu "CustomerID" sütununda "Müşteriler" tablosundaki müşteri anlamına gelir. Yukarıdaki iki tablo arasındaki ilişki "CustomerID" sütunudur.

Şimdi (INNER JOIN içeren) aşağıdaki SQL deyimini çalıştırın:

Örnek

SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers
ON Orders.CustomerID=Customers.CustomerID;

Yukarıdaki SQL sorgusu çalıştırıldığında böyle bir şey üretir:

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 birleşim yöntemleri:

Örneklerle devam etmeden önce farklı SQL türlerine bakalım:

  • FULL JOIN: Bir tablo içinde bir eşleşme olduğunda tüm satırları döndürür. 
  • INNER JOIN: INNER JOIN ile birleştirilen tüm tablolarda ilişkinin sağlandığı tüm satırlar listelenir.
  • LEFT JOIN: Sol tablodaki tüm satırlar ve eşleştirilen satırları sağ tablosunda döndürür.
  • RIGHT JOIN: Sol tablodaki tüm satırlar ve eşleştirilen satırları sağ tablosunda döndürür