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!

SQL - UNION Operator

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:

  1. Il numero di colonne in ogni istruzione SELECT deve essere lo stesso.
  2. I tipi di dati delle colonne corrispondenti devono essere compatibili.
  3. 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