L'operatore SQL UNION combina il risultato di due o più istruzioni SELECT.
L'operatore SQL UNION
L'operatore UNION viene utilizzato per combinare il risultato-set di due o più istruzioni SELECT.
Si noti che ogni istruzione SELECT all'interno dell'Unione deve avere lo stesso numero di colonne. Le colonne devono anche avere tipi di dati simili. Inoltre, le colonne di ogni istruzione SELECT devono essere nello stesso ordine.
SQL UNION Sintassi
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2 ;
Note: L'operatore UNION seleziona solo i valori distinti per impostazione predefinita. Per consentire valori duplicati, utilizzare la parola chiave ALL con UNION.
SQL UNION ALL sintassi
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2 ;
PS: I nomi delle colonne nel risultato-set di un'unione di solito sono uguali ai nomi delle colonne nella prima istruzione SELECT nella UNION.
Database Demo
In questo tutorial useremo il noto database di esempio Northwind.
Di seguito una selezione dal "Customers" tabella:
Identificativo del cliente | Nome del cliente | Nome del contatto | Indirizzo | Città | Codice postale | Nazione |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitucion 2222 | Mexico D.F. | 05021 | Mexico |
3 | Antonio Moreno Taqueria | Antonio Moreno | Mataderos 2312 | Mexico D.F. | 05023 | Mexico |
E una selezione della "Suppliers" tabella:
IDFornitore | Nome del fornitore | Nome del contatto | Indirizzo | Città | Codice postale | Nazione |
---|---|---|---|---|---|---|
1 | Liquid Exotic | Charlotte Cooper | 49 Gilbert S. | Londra | EC1 4SD | UK |
2 | Nuove Cajun Delights Orleans | Shelley Burke | PO Box 78934 | new Orleans | 70117 | Stati Uniti d'America |
3 | Homestead della nonna Kelly | Regina Murphy | 707 Oxford Rd. | Ann Arbor | 48104 | Stati Uniti d'America |
SQL UNION Esempio
La seguente istruzione SQL seleziona tutte le diverse città (solo valori distinti) dalle "Customers" e "Suppliers" tabelle:
Note: UNION non può essere utilizzato per elencare tutte le città delle due tabelle. Se diversi clienti e fornitori condividono la stessa città, ogni città verrà elencato solo una volta. UNION seleziona solo valori distinti. Utilizzare UNION ALL per selezionare anche i valori duplicati!
SQL UNION ALL Esempio
La seguente istruzione SQL utilizza UNION ALL per selezionare tutti i valori duplicati (anche) le città dai "Customers" e "Suppliers" tabelle:
Esempio
SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;
Prova tu stesso " SQL UNION ALL Con DOVE
La seguente istruzione SQL utilizza UNION ALL per selezionare tutti i valori duplicati (anche) le città tedesche dai "Customers" e "Suppliers" tabelle:
Esempio
SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY
City;
Prova tu stesso "