Operatore UNION e UNION ALL in SQL
- Pagina precedente SQL Full Join
- Pagina successiva SQL Select Into
Operatore UNION in SQL
L'operatore UNION viene utilizzato per unire i risultati di due o più clausole SELECT.
Si prega di notare che la clausola SELECT interna di UNION deve avere un numero di colonne identico. Le colonne devono anche avere tipi di dati simili. Inoltre, l'ordine delle colonne in ogni clausola SELECT deve essere lo stesso.
Sintassi SQL UNION
SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2
Nota:Per impostazione predefinita, l'operatore UNION seleziona valori diversi. Se si permettono valori ripetuti, utilizzare UNION ALL.
Sintassi SQL UNION ALL
SELECT column_name(s) FROM table_name1 UNION ALL SELECT column_name(s) FROM table_name2
Inoltre, i nomi delle colonne nella risultati di UNION sono sempre uguali ai nomi delle colonne nella prima istruzione SELECT di UNION.
Esempio originale utilizzato negli esempi di seguito:
Employees_China:
E_ID | E_Name |
---|---|
01 | Zhang, Hua |
02 | Wang, Wei |
03 | Carter, Thomas |
04 | Yang, Ming |
Employees_USA:
E_ID | E_Name |
---|---|
01 | Adams, John |
02 | Bush, George |
03 | Carter, Thomas |
04 | Gates, Bill |
Utilizzo dell'istruzione UNION
Esempio
Elenca tutti i nomi dei dipendenti diversi in Cina e negli Stati Uniti:
SELECT E_Name FROM Employees_China UNION SELECT E_Name FROM Employees_USA
Risultato
E_Name |
---|
Zhang, Hua |
Wang, Wei |
Carter, Thomas |
Yang, Ming |
Adams, John |
Bush, George |
Gates, Bill |
Nota:Questa istruzione non può elencare tutti i dipendenti in Cina e negli Stati Uniti. Negli esempi precedenti, ci sono due dipendenti con lo stesso nome, ma solo uno è stato elencato. L'istruzione UNION选取不同的值.
UNION ALL
L'istruzione UNION ALL e l'istruzione UNION sono quasi equivalenti, ma l'istruzione UNION ALL elenca tutti i valori.
SQL Statement 1 UNION ALL SQL Statement 2
Utilizzo dell'istruzione UNION ALL
Esempio:
Elenca tutti i dipendenti in Cina e negli Stati Uniti:
SELECT E_Name FROM Employees_China UNION ALL SELECT E_Name FROM Employees_USA
Risultato
E_Name |
---|
Zhang, Hua |
Wang, Wei |
Carter, Thomas |
Yang, Ming |
Adams, John |
Bush, George |
Carter, Thomas |
Gates, Bill |
- Pagina precedente SQL Full Join
- Pagina successiva SQL Select Into