SQL - Operatore UNION
Ciao a tutti, futuri maghi dell'SQL! Oggi ci imbarchiamo in un viaggio emozionante nel mondo degli operatori UNION di SQL. Non preoccupatevi se siete nuovi alla programmazione - sarò il vostro guida amichevole, spiegando tutto passo per passo. Allora, prendete una tazza di caffè (o tè, se è la vostra preferenza) e tuffiamoci!
L'Operatore UNION in SQL
Immaginate di stanno organizzando una grande festa e avete due liste di invitati: una per i vostri amici e un'altra per la vostra famiglia. L'operatore UNION di SQL è come combinare queste due liste in una lista principale, senza duplicati. Carino, vero?
In termini SQL, l'operatore UNION ci permette di combinare i risultati di due o più istruzioni SELECT. Ecco la sintassi di base:
SELECT colonna1, colonna2, ... FROM tabella1
UNION
SELECT colonna1, colonna2, ... FROM tabella2;
Ricordate, per fare funzionare correttamente UNION:
- Il numero di colonne in ogni istruzione SELECT deve essere lo stesso.
- I tipi di dati delle colonne corrispondenti devono essere compatibili.
- L'ordine delle colonne in ogni istruzione SELECT deve essere lo stesso.
Analizziamo alcuni esempi per rendere questo più chiaro.
UNION su un Singolo Campo
Supponiamo di avere due tabelle: fruits
e vegetables
. Vogliamo creare una lista di tutti gli elementi.
SELECT name FROM fruits
UNION
SELECT name FROM vegetables;
Questa query ci darà una singola lista di tutti i frutti e le verdure, senza duplicati. Se c'è una 'Mela' in entrambe le tabelle, apparirà solo una volta nei risultati.
UNION su Multipli Campi
Ora, immaginiamo di voler includere i prezzi insieme ai nomi. Possiamo farlo così:
SELECT name, price FROM fruits
UNION
SELECT name, price FROM vegetables;
Questo ci darà una lista di tutti gli elementi con i loro prezzi. Ricordate, l'ordine e il numero di colonne devono corrispondere in entrambe le istruzioni SELECT.
UNION con Clausola WHERE
Possiamo anche utilizzare clausole WHERE con UNION per filtrare i nostri risultati. Per esempio, se vogliamo solo gli elementi che costano meno di $5:
SELECT name, price FROM fruits WHERE price < 5
UNION
SELECT name, price FROM vegetables WHERE price < 5;
Questa query ci darà una lista di tutti i frutti e le verdure che costano meno di $5.
UNION con Clausola ORDER BY
E se vogliamo ordinare la nostra lista combinata? Possiamo utilizzare ORDER BY, ma deve venire dopo l'ultima istruzione SELECT:
SELECT name, price FROM fruits
UNION
SELECT name, price FROM vegetables
ORDER BY name;
Questo ci darà una lista alphabeticamente ordinata di tutti i frutti e le verdure.
UNION con Alias
A volte, potremmo voler dare ai nostri campi nomi diversi nell'output. Possiamo farlo utilizzando alias:
SELECT name AS item_name, price AS item_price FROM fruits
UNION
SELECT name, price FROM vegetables;
In questo caso, la colonna 'name' sarà visualizzata come 'item_name', e 'price' come 'item_price' nel set di risultati.
Ecco una tabella che riassume i metodi UNION discussi:
Metodo | Descrizione |
---|---|
UNION di Base | Combina i set di risultati di due o più istruzioni SELECT |
UNION su Singolo Campo | Combina una colonna da più tabelle |
UNION su Multipli Campi | Combina più colonne da più tabelle |
UNION con WHERE | Filtra i risultati prima di combinare |
UNION con ORDER BY | Ordina i risultati combinati |
UNION con Alias | Rinomina le colonne nell'output |
Ricordate, la pratica fa la perfezione! Provate a scrivere le vostre query UNION, esperimentate con diverse tabelle e condizioni. Prima di sapere, sarete UNION come un professionista!
Spero che questo tutorial vi abbia aiutato a demistificare l'operatore UNION di SQL. Continuate a programmare, rimanete curiosi e non dimenticate di divertirvi lungo il percorso. Dopo tutto, ogni grande programmatore è iniziato esattamente dove voi siete ora. Buona query!
Credits: Image by storyset