Esercitazione MySQL

MySQL HOME Introduzione a MySQL MySQL RDBMS

MySQL SQL

MySQL SQL SELEZIONA MySQL MySQL DOVE MySQL E, O, NON MySQL ORDINA PER MySQL INSERT IN Valori NULL MySQL AGGIORNAMENTO MySQL MySQL DELETE LIMITE MySQL MySQL MIN e MAX MySQL COUNT, MEDIO, SOMMA MySQL MI PIACE Caratteri jolly MySQL MySQL IN MySQL TRA alias MySQL MySQL si unisce MySQL INNER JIN MySQL ha lasciato il join MySQL GIUSTO UNISCITI MySQL CROSS JIN MySQL Self Join MySQL UNION MySQL GRUPPO PER MySQL AVENDO MySQL ESISTE MySQL QUALSIASI, TUTTO SELEZIONA INSERTO MySQL CASO MySQL Funzioni null di MySQL Commenti MySQL Operatori MySQL

Database MySQL

MySQL Crea DB MySQL Drop DB MySQL Crea tabella MySQL Drop Table MySQL Alter tabella Vincoli MySQL MySQL non nullo MySQL unico Chiave primaria MySQL Chiave esterna MySQL Controllo MySQL MySQL predefinito MySQL Crea indice Incremento automatico di MySQL Date MySQL Viste MySQL

Riferimenti MySQL

Tipi di dati MySQL Funzioni MySQL

Esempi MySQL

Esempi MySQL Quiz MySQL Esercizi MySQL

Operatore MySQL UNION


L'operatore MySQL UNION

L' UNIONoperatore viene utilizzato per combinare il set di risultati di due o più SELECT istruzioni.

  • Ogni SELECTistruzione all'interno UNIONdeve avere lo stesso numero di colonne
  • Anche le colonne devono avere tipi di dati simili
  • Anche le colonne in ogni SELECTistruzione devono essere nello stesso ordine

Sintassi UNION

SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;

UNION ALL Sintassi

L' UNIONoperatore seleziona solo valori distinti per impostazione predefinita. Per consentire valori duplicati, utilizzare UNION ALL:

SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;

Nota: i nomi delle colonne nel set di risultati sono generalmente uguali ai nomi delle colonne nella prima SELECTistruzione.


Database dimostrativo

In questo tutorial utilizzeremo il noto database di esempio Northwind.

Di seguito una selezione dalla tabella "Clienti":

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico

E una selezione dalla tabella "Fornitori":

SupplierID SupplierName ContactName Address City PostalCode Country
1 Exotic Liquid Charlotte Cooper 49 Gilbert St. London EC1 4SD UK
2 New Orleans Cajun Delights Shelley Burke P.O. Box 78934 New Orleans 70117 USA
3 Grandma Kelly's Homestead Regina Murphy 707 Oxford Rd. Ann Arbor 48104 USA


Esempio di SQL UNION

La seguente istruzione SQL restituisce le città (solo valori distinti) dalla tabella "Clienti" e "Fornitori":

Esempio

SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;

Nota: se alcuni clienti o fornitori hanno la stessa città, ogni città verrà elencata una sola volta, poiché UNIONseleziona solo valori distinti. Utilizzare UNION ALLper selezionare anche valori duplicati!


SQL UNION ALL Esempio

La seguente istruzione SQL restituisce le città (anche valori duplicati) dalla tabella "Clienti" e "Fornitori":

Esempio

SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;

SQL UNION Con DOVE

La seguente istruzione SQL restituisce le città tedesche (solo valori distinti) sia dalla tabella "Clienti" che dalla tabella "Fornitori":

Esempio

SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;

SQL UNION TUTTO Con DOVE

La seguente istruzione SQL restituisce le città tedesche (anche valori duplicati) sia dalla tabella "Clienti" che dalla tabella "Fornitori":

Esempio

SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;

Un altro esempio dell'UNIONE

La seguente istruzione SQL elenca tutti i clienti e fornitori:

Esempio

SELECT 'Customer' AS Type, ContactName, City, Country
FROM Customers
UNION
SELECT 'Supplier', ContactName, City, Country
FROM Suppliers;

Notare il "Tipo AS" sopra: è un alias. Gli alias SQL vengono utilizzati per assegnare un nome temporaneo a una tabella oa una colonna. Un alias esiste solo per la durata della query. Quindi, qui abbiamo creato una colonna temporanea denominata "Tipo", che elenca se la persona di contatto è un "Cliente" o un "Fornitore".