SQL’de FULL OUTER JOIN Sorgusu

Sağ ve sol tablonun birleşiminin dışında kalanları listelemek için kullanılır.

SQL FULL OUTER JOIN Sözdizimi

SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name=table2.column_name;

 

Demo Veritabanı

Bu eğitimde tanınmış Northwind örnek veritabanını kullanır.

 

Aşağıdaki "Müşteriler" tablosundan bir seçimdir:

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.

05021

Mexico

3

Antonio Moreno Taquería

Antonio Moreno

Mataderos 2312

México D.F.

05023

Mexico

Ve "Orders" tablosundan bir seçim:

OrderID

CustomerID

EmployeeID

OrderDate

ShipperID

10308

2

7

1996-09-18

3

10309

37

3

1996-09-19

1

10310

77

8

1996-09-20

2

 


SQL FULL OUTER JOIN Örnek

Aşağıdaki SQL sorgusu tüm müşterilerin tüm siparişlerini listeler:

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;

Sonuç küme bir seçiminde aşağıdaki gibi görünebilir:

CustomerName

OrderID

Alfreds Futterkiste

 

Ana Trujillo Emparedados y helados

10308

Antonio Moreno Taquería

10365

 

10382

 

10351

Not: Tam dış birleştirme sorgusu doğru tablodan (Siparişler) (müşteriler) sol tablodan tüm satırları listeler. Sorgu "müşteriler" tablosunda "Siparişler" tablosu ile eşleşen veya "Müşteriler" tablosunda olmayan satır varsa, bu satırları da listelenir.