TOP

SQL LEFT JOIN

SQL LEFT JOIN Descrizione

La parola chiave LEFT JOIN restituisce tutti i record della tabella di sinistra (tabella1) e i record corrispondenti della tabella di destra (tabella2).

Il risultato sarà 0 voci sul lato destro se non c'è corrispondenza.


LEFT JOIN Sintassi

SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name
In alcuni database, LEFT JOIN è chiamato LEFT OUTER JOIN.

SQL INNER JOIN

Banca dati dimostrativa

In questo tutorial utilizzeremo il famoso database di esempio "Northwind".

Di seguito è riportato un esempio della tabella "Customers" ("Clienti"):

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

E l'esempio dalla tabella "Orders" ("Ordini"):

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

SQL LEFT JOIN Esempio

La seguente istruzione SQL selezionerà tutti i clienti e gli eventuali ordini che potrebbero avere:

Run SQLSELECT Customers.CustomerName, Orders.OrderID 
FROM Customers 
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID 
ORDER BY Customers.CustomerName
La parola chiave LEFT JOIN restituisce tutti i record della tabella di sinistra (Clienti), anche se non ci sono corrispondenze nella tabella di destra (Ordini).