Esercitazione SQL

SQL HOME Introduzione SQL Sintassi SQL Seleziona SQL SQL Seleziona distinto SQL dove SQL e, o, no Ordina SQL per Inserisci SQL in Valori nulli SQL Aggiornamento SQL Elimina SQL SQL Seleziona in alto SQL Min e Max Conteggio SQL, media, somma Mi piace SQL Caratteri jolly SQL SQL In SQL tra Alias ​​SQL Join SQL Join interno SQL Join sinistro SQL SQL Right Join SQL Full Join SQL Self Join Unione SQL Raggruppamento SQL per SQL Avere SQL esiste SQL Qualsiasi, Tutti SQL Seleziona in Inserisci SQL in Seleziona Caso SQL Funzioni SQL Null Stored procedure SQL Commenti SQL Operatori SQL

Database SQL

SQL Crea DB SQL Drop DB DB di backup SQL SQL Crea tabella Tabella di rilascio SQL SQL Alter tabella Vincoli SQL SQL non nullo SQL unico Chiave primaria SQL Chiave esterna SQL Controllo SQL SQL predefinito Indice SQL Incremento automatico SQL Date SQL Viste SQL SQL Injection Hosting SQL Tipi di dati SQL

Riferimenti SQL

Parole chiave SQL Funzioni MySQL Funzioni di SQL Server Funzioni di accesso MS Riferimento rapido SQL

Esempi SQL

Esempi SQL Quiz SQL Esercizi SQL Certificato SQL

Operatore SQL UNION


L'operatore SQL 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".