TOP

SQL FULL OUTER JOIN Cuvânt cheie

SQL FULL OUTER JOIN Descriere

Cuvântul cheie FULL OUTER JOIN returnează toate înregistrările dacă există o potrivire în înregistrările din stânga (tabelul1) sau din dreapta (tabelul2) ale tabelului.


Instrucțiunile FULL OUTER JOIN și FULL JOIN sunt aceleași.

FULL OUTER JOIN Sintaxă

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

SQL FULL JOIN

Baza de date demonstrativă

În acest tutorial vom folosi celebrul exemplu de bază de date „Northwind”.

Mai jos este o mostră din tabelul „Customers” („Clienți”):

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.5021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.5023Mexico
4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

Și eșantionul din tabelul „Orders” („Comenzi”):

ProductIDOrderIDCustomerIDEmployeeIDOrderDateShipperID
1102489051996-07-043
2102498161996-07-051
3102503441996-07-082
4102518431996-07-081
5102527641996-07-092

SQL FULL OUTER JOIN Exemplu

Următoarea instrucțiune SQL selectează toți clienții și toate comenzile:

Run SQLSELECT Customers.CustomerName, Orders.OrderID 
FROM Customers 
FULL OUTER JOIN Orders ON Customers.CustomerID = Orders.CustomerID 
ORDER BY Customers.CustomerName

O mostră din setul de rezultate ar putea arăta astfel:

CustomerName OrderID
Null 10309
Null 10310
Alfreds Futterkiste Null
Ana Trujillo Emparedados y helados 10308
Antonio Moreno Taquería Null
Cuvântul cheie FULL OUTER JOIN returnează toate înregistrările care se potrivesc din ambele tabele, indiferent dacă celălalt tabel se potrivește sau nu. Deci, dacă există rânduri în „Customers” („Clienți”) care nu au potriviri în „Orders” („Comenzi”) sau dacă există rânduri în „Comenzi” care nu au potriviri în „Clienți”, acele rânduri sunt de asemenea vor fi listate.