TOP

SQL INNER JOIN

SQL INNER JOIN Descrizione

La parola chiave INNER JOIN seleziona i record che hanno valori corrispondenti in entrambe le tabelle.


Sintassi SQL INNER JOIN

SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name

SQL INNER JOIN

Banca dati dimostrativa

Di seguito è riportato un esempio della tabella "Orders" ("Ordini"):

ProductIDOrderIDCustomerIDEmployeeIDOrderDateShipperID
1102489051996-07-043
2102498161996-07-051
3102503441996-07-082

E la selezione dalla 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

SQL INNER JOIN Esempio

La seguente istruzione SQL seleziona tutti gli ordini con le informazioni sul cliente:

Run SQLSELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID
La parola chiave INNER JOIN seleziona tutte le righe di entrambe le tabelle se esiste una corrispondenza tra le colonne. Se nella tabella "Orders" ("Ordini") sono presenti record che non corrispondono in "Customers" ("Clienti"), tali ordini non verranno visualizzati!

SQL INNER JOIN per unire tre tabelle

La seguente istruzione SQL seleziona tutti gli ordini con le informazioni sul cliente e sul corriere:

Run SQLSELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName 
FROM ((Orders INNER JOIN Customers 
       ON Orders.CustomerID = Customers.CustomerID) 
       
      INNER JOIN Shippers 
      ON Orders.ShipperID = Shippers.ShipperID)