Come ottengo i dati da più tabelle?
Un JOIN SQL combina i record di due tabelle.
UN JOIN individua i valori delle colonne correlate nelle due tabelle.
Una query può contenere zero, una o più operazioni JOIN.
INNER JOIN è uguale a JOIN; la parola chiave INNER è facoltativa.
Quattro diversi tipi di JOIN
- (INNER) JOIN: Seleziona record che hanno valori corrispondenti in entrambe le tabelle.
- FULL (OUTER) JOIN: seleziona tutti i record che corrispondono ai record della tabella di sinistra o di destra.
- LEFT (OUTER) JOIN: seleziona i record dalla prima tabella (più a sinistra) con record di tabella a destra corrispondenti.
- JOIN RIGHT (OUTER): seleziona i record dalla seconda tabella (più a destra) con record di tabella a sinistra corrispondenti.
Nota: tutte le parole chiave INNER ed OUTER sono facoltative.
I dettagli sui diversi JOIN sono disponibili nelle pagine di esercitazione successive.
SQL Sintassi JOIN
La sintassi generale è
SELECT column-names FROM table-name1 JOIN table-name2 ON column-name1 = column-name2 WHERE condition
La sintassi generale con INNER è:
SELECT column-names FROM table-name1 INNER JOIN table-name2 ON column-name1 = column-name2 WHERE condition
Nota: la parola chiave INNER è facoltativa: è loperazione di JOIN predefinita e più utilizzata.
Id
Firs tName
LastName
Città
Paese
Telefono
Id
OrderDate
OrderNumber
CustomerId
Importo totale
Esempi di SQL JOIN
In questo esempio, lutilizzo di alias di tabella per e Customer potrebbe essere stato utile.
OrderNumber | TotalAmount | FirstName | LastName | Città | Paese |
---|---|---|---|---|---|
542378 | 440.00 | Paul | Henriot | Reims | Francia |
542379 | 1863.40 | Karin | Josephs | Münster | Germania |
542380 | 1813.00 | Mario | Pontes | Rio de Janeiro | Brasile |
542381 | 670.80 | Mary | Saveley | Lione | Francia |
542382 | 3730.00 | Pascale | Cartrain | Charleroi | Belgio |
542383 | 1444.80 | Mario | Pontes | Rio de Janeiro | Brasile |
542384 | 625.20 | Yang | Wang | Berna | Svizzera |
Id
ProductName
ID fornitore
Prezzo unitario
Pacchetto
Non più disponibile
Id
OrderId
ProductId
UnitPrice
Quantità
Id
OrderDate
OrderNumber
CustomerId
TotalAmount
con i nomi dei prodotti,
quantità e prezzi
O, I e P sono alias di tabella . La data è una colonna Alias.