SQL UNION: come unire record correttamente
SQL UNION unisce i record di due o più tabelle in una tabella di destinazione senza duplicati. Il vantaggio è che puoi raggruppare i record correlati fra loro in una tabella, per migliorare la chiarezza ed eseguire interrogazioni di dati più efficienti e significative.
Cos’è SQL UNION?
Che si tratti di record con informazioni di clienti, prezzi o prodotti, dati di progetto o finanziari, gestire database complessi non è facile. Tra i compiti degli amministratori e delle amministratrici c’è anche quello di riunire i record collegati esistenti in tabelle riepilogative in modo efficiente. A questo scopo spesso si usa l’operatore SQL SQL UNION. Usando UNION
per interrogazioni di dati, confronti, analisi o modifiche dei record, puoi unire i record selezionati di una o più tabelle e rimuovere gli eventuali duplicati.
In combinazione con altri comandi SQL e funzioni come ORDER BY
, GROUP BY
, WHERE
o HAVING
puoi creare strutture di dati rilevanti secondo criteri chiari per analisi, rapporti o aggiornamenti. Inoltre, funzioni aggregate come SQL AVG o SQL SUM ti consentono di unire tabelle, allo stesso tempo calcolando e ordinando gli insiemi di risultati, se necessario.
Per compiere i primi passi con SQL bisogna disporre delle conoscenze di base necessarie. La nostra introduzione a SQL mediante esempi ti fornisce le funzioni e nozioni basilari più importanti per lavorare con questo linguaggio.
La sintassi di SQL UNION
La semplice sintassi di UNION
si presenta come segue:
SELECT ColonnaA, ColonnaB, … oppure * FROM TabellaA
UNION
SELECT ColonnaA, ColonnaB, … oppure * FROM TabellaB
sqlSi usano i parametri seguenti:
-
SELECT
: con la parola chiave SQL SELECT definisci le colonne di due tabelle che desideri unire. Con l’asterisco*
puoi anche selezionare tutti i record. Il numero di colonne selezionate deve essere identico in ciascun elemento SELECT di un’istruzione UNION ed essere nello stesso ordine. -
UNION
: unisce i record selezionati di due tabelle in una tabella di destinazione.
Le applicazioni di UNION
Se vuoi unire record correlati, come pratiche dei clienti, dati finanziari o informazioni di prodotto e di progetto, non puoi fare a meno di SQL UNION. A prescindere dal settore, in SQL questo operatore è usato ad esempio per le applicazioni seguenti:
- Creare pratiche completamente digitali e cartelle di dati dei clienti, progetti, pazienti o ordini
- Creare rapporti di vendita o confrontare dati di diversi reparti
- Analizzare il comportamento di acquisto per generare lead
- Analizzare e confrontare dati finanziari e delle transazioni
- Rimuovere i duplicati dai rapporti o da record riuniti
- Valutare quantità di produzione, quantità di consegna o scorte di magazzino
- Aggregare dati di ordini e vendite per individuare le tendenze o eseguire analisi di mercato
Archiviazione dei dati sicura, prestazioni scalabili e proposte personalizzate di server e hosting: puoi avere tutto questo con l’hosting SQL server di IONOS. Scegli tra server cloud, server virtuali (VPS), server dedicati o hosting Linux e affidati alla sicurezza dei dati secondo standard europei.
- Traffico illimitato e fino a 1 Gbit/s di larghezza di banda
- Storage SSD NVMe veloce
- Plesk Web Host Edition incluso
Esempi pratici di SQL UNION
Abbiamo creato alcuni esempi pratici che dovrebbero illustrarti in modo facilmente comprensibile come unire record di dati in modo efficiente con SQL UNION.
Riunire due record in una tabella
Supponiamo di voler unire i record delle tabelle “Abbonati” e “Clienti” in una tabella di destinazione, senza duplicati, sulla base delle colonne “Nome”, “Indirizzo” e “IDcliente”. Procediamo come indicato di seguito:
SELECT Nome, Indirizzo, IDcliente
FROM Abbonati
UNION
SELECT Nome, Indirizzo, IDcliente
FROM Clienti
sqlRiunire i dati dei collaboratori di diversi reparti
Vogliamo riunire i dati delle collaboratrici e dei collaboratori delle tabelle “Marketing” e “Vendite” utilizzando le colonne “Nome” e “Città”. Procediamo nel modo seguente:
SELECT Nome, Città
FROM Marketing
UNION
SELECT Nome, Città
FROM Vendite
sqlUnire due record con UNION ALL
Nel nostro terzo esempio illustriamo il funzionamento di UNION ALL
. A differenza dell’operatore UNION
, con UNION ALL
viene generata una tabella di destinazione con tutti i record desiderati. I duplicati non vengono quindi rimossi. Prendiamo ad esempio una tabella “Clienti” e una tabella “Fornitori”. Vogliamo unirle inserendo la condizione che i clienti e i fornitori siano di “Roma”. Procediamo come segue:
SELECT Nome, Città
FROM Clienti
WHERE Città = ´Roma´
UNION ALL
SELECT Nome, Città
FROM Fornitori
WHERE Città = ´Roma´
GROUP BY Città;
sqlAlternative a SQL UNION
Per riunire dati senza duplicati ci sono altre opzioni in aggiunta o al posto di UNION
. Ti presentiamo brevemente le più importanti:
-
JOIN
: con SQL JOIN puoi riunire dati, interrogarli e collegarli a prescindere dalla tabella in cui si trovano. A questo scopo sono disponibili comandi comeINNER JOIN
,LEFT JOIN
,RIGHT JOIN
eFULL JOIN
oppureCROSS JOIN
. Con le istruzioniJOIN
puoi unire i record di due tabelle in modo molto più mirato e flessibile che conUNION
, perché puoi anche definire condizioni con la clausolaON
. -
GROUP BY
: con SQL GROUP BY puoi unire i record selezionati di colonne e tabelle con valori identici in una tabella di destinazione. -
ORDER BY
: con SQL ORDER BY definisci come ordinare i record in una tabella di destinazione. -
SELECT DISTINCT
: SQL SELECT DISTINCT, analogamente a UNION, ti permette di generare una tabella di destinazione con solo i risultati univoci dell’interrogazione, senza duplicati. -
UNION ALL
: l’operatoreUNION ALL
funziona analogamente aUNION
, ma unisce tutti i record della tabella selezionata, duplicati compresi.