SQL JOIN (Italiano)

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

  1. (INNER) JOIN: Seleziona record che hanno valori corrispondenti in entrambe le tabelle.
  2. FULL (OUTER) JOIN: seleziona tutti i record che corrispondono ai record della tabella di sinistra o di destra.
  3. LEFT (OUTER) JOIN: seleziona i record dalla prima tabella (più a sinistra) con record di tabella a destra corrispondenti.
  4. 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.

CUSTOMER

Id

Firs tName

LastName

Città

Paese

Telefono

ORDER

Id

OrderDate

OrderNumber

CustomerId

Importo totale

Esempi di SQL JOIN

Problema: elenca tutti gli ordini con le informazioni sui clienti

In questo esempio, lutilizzo di alias di tabella per e Customer potrebbe essere stato utile.

Risultato: 830 record.
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

PRODUCT

Id

ProductName

ID fornitore

Prezzo unitario

Pacchetto

Non più disponibile

ORDERITEM

Id

OrderId

ProductId

UnitPrice

Quantità

ORDER

Id

OrderDate

OrderNumber

CustomerId

TotalAmount

Problema: elenca tutti gli ordini
con i nomi dei prodotti,
quantità e prezzi
Questa query esegue due operazioni JOIN con 3 tabelle.
O, I e P sono alias di tabella . La data è una colonna Alias.
Risultato: 2155 record

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *