SQL UNION unisce i record di due o più tabelle in una tabella di de­sti­na­zio­ne senza duplicati. Il vantaggio è che puoi rag­grup­pa­re i record correlati fra loro in una tabella, per mi­glio­ra­re la chiarezza ed eseguire in­ter­ro­ga­zio­ni di dati più ef­fi­cien­ti e si­gni­fi­ca­ti­ve.

Cos’è SQL UNION?

Che si tratti di record con in­for­ma­zio­ni di clienti, prezzi o prodotti, dati di progetto o fi­nan­zia­ri, gestire database complessi non è facile. Tra i compiti degli am­mi­ni­stra­to­ri e delle am­mi­ni­stra­tri­ci c’è anche quello di riunire i record collegati esistenti in tabelle rie­pi­lo­ga­ti­ve in modo ef­fi­cien­te. A questo scopo spesso si usa l’operatore SQL SQL UNION. Usando UNION per in­ter­ro­ga­zio­ni di dati, confronti, analisi o modifiche dei record, puoi unire i record se­le­zio­na­ti di una o più tabelle e rimuovere gli eventuali duplicati.

In com­bi­na­zio­ne 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 ag­gior­na­men­ti. Inoltre, funzioni aggregate come SQL AVG o SQL SUM ti con­sen­to­no di unire tabelle, allo stesso tempo cal­co­lan­do e ordinando gli insiemi di risultati, se ne­ces­sa­rio.

Consiglio

Per compiere i primi passi con SQL bisogna disporre delle co­no­scen­ze di base ne­ces­sa­rie. La nostra in­tro­du­zio­ne a SQL mediante esempi ti fornisce le funzioni e nozioni basilari più im­por­tan­ti per lavorare con questo lin­guag­gio.

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
sql

Si 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 se­le­zio­na­re tutti i record. Il numero di colonne se­le­zio­na­te deve essere identico in ciascun elemento SELECT di un’istru­zio­ne UNION ed essere nello stesso ordine.
  • UNION: unisce i record se­le­zio­na­ti di due tabelle in una tabella di de­sti­na­zio­ne.

Le ap­pli­ca­zio­ni di UNION

Se vuoi unire record correlati, come pratiche dei clienti, dati fi­nan­zia­ri o in­for­ma­zio­ni di prodotto e di progetto, non puoi fare a meno di SQL UNION. A pre­scin­de­re dal settore, in SQL questo operatore è usato ad esempio per le ap­pli­ca­zio­ni seguenti:

  • Creare pratiche com­ple­ta­men­te digitali e cartelle di dati dei clienti, progetti, pazienti o ordini
  • Creare rapporti di vendita o con­fron­ta­re dati di diversi reparti
  • Ana­liz­za­re il com­por­ta­men­to di acquisto per generare lead
  • Ana­liz­za­re e con­fron­ta­re dati fi­nan­zia­ri e delle tran­sa­zio­ni
  • Rimuovere i duplicati dai rapporti o da record riuniti
  • Valutare quantità di pro­du­zio­ne, quantità di consegna o scorte di magazzino
  • Aggregare dati di ordini e vendite per in­di­vi­dua­re le tendenze o eseguire analisi di mercato
Consiglio

Ar­chi­via­zio­ne dei dati sicura, pre­sta­zio­ni scalabili e proposte per­so­na­liz­za­te 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.

Server virtuali (VPS)
Affidati ai VPS e server di IONOS, il tuo partner digitale cer­ti­fi­ca­to ISO
  • 1 Gbps di larghezza di banda e traffico il­li­mi­ta­to
  • Di­spo­ni­bi­li­tà del 99,99% e cer­ti­fi­ca­zio­ne ISO
  • As­si­sten­za 24/7 e con­su­len­te personale

Esempi pratici di SQL UNION

Abbiamo creato alcuni esempi pratici che do­vreb­be­ro il­lu­strar­ti in modo fa­cil­men­te com­pren­si­bi­le come unire record di dati in modo ef­fi­cien­te con SQL UNION.

Riunire due record in una tabella

Sup­po­nia­mo di voler unire i record delle tabelle “Abbonati” e “Clienti” in una tabella di de­sti­na­zio­ne, senza duplicati, sulla base delle colonne “Nome”, “Indirizzo” e “IDcliente”. Pro­ce­dia­mo come indicato di seguito:

SELECT  Nome, Indirizzo, IDcliente
FROM  Abbonati
UNION
SELECT  Nome, Indirizzo, IDcliente
FROM  Clienti
sql

Riunire i dati dei col­la­bo­ra­to­ri di diversi reparti

Vogliamo riunire i dati delle col­la­bo­ra­tri­ci e dei col­la­bo­ra­to­ri delle tabelle “Marketing” e “Vendite” uti­liz­zan­do le colonne “Nome” e “Città”. Pro­ce­dia­mo nel modo seguente:

SELECT  Nome, Città
FROM  Marketing
UNION
SELECT  Nome, Città
FROM  Vendite
sql

Unire due record con UNION ALL

Nel nostro terzo esempio il­lu­stria­mo il fun­zio­na­men­to di UNION ALL. A dif­fe­ren­za dell’operatore UNION, con UNION ALL viene generata una tabella di de­sti­na­zio­ne con tutti i record de­si­de­ra­ti. I duplicati non vengono quindi rimossi. Prendiamo ad esempio una tabella “Clienti” e una tabella “Fornitori”. Vogliamo unirle inserendo la con­di­zio­ne che i clienti e i fornitori siano di “Roma”. Pro­ce­dia­mo come segue:

SELECT  Nome, Città
FROM  Clienti
WHERE  Città  =  ´Roma´
UNION ALL
SELECT  Nome, Città
FROM  Fornitori
WHERE  Città  =  ´Roma´
GROUP BY  Città;
sql

Al­ter­na­ti­ve a SQL UNION

Per riunire dati senza duplicati ci sono altre opzioni in aggiunta o al posto di UNION. Ti pre­sen­tia­mo bre­ve­men­te le più im­por­tan­ti:

  • JOIN: con SQL JOIN puoi riunire dati, in­ter­ro­gar­li e col­le­gar­li a pre­scin­de­re dalla tabella in cui si trovano. A questo scopo sono di­spo­ni­bi­li comandi come INNER JOIN, LEFT JOIN, RIGHT JOIN e FULL JOIN oppure CROSS JOIN. Con le istru­zio­ni JOIN puoi unire i record di due tabelle in modo molto più mirato e fles­si­bi­le che con UNION, perché puoi anche definire con­di­zio­ni con la clausola ON.
  • GROUP BY: con SQL GROUP BY puoi unire i record se­le­zio­na­ti di colonne e tabelle con valori identici in una tabella di de­sti­na­zio­ne.
  • ORDER BY: con SQL ORDER BY definisci come ordinare i record in una tabella di de­sti­na­zio­ne.
  • SELECT DISTINCT: SQL SELECT DISTINCT, ana­lo­ga­men­te a UNION, ti permette di generare una tabella di de­sti­na­zio­ne con solo i risultati univoci dell’in­ter­ro­ga­zio­ne, senza duplicati.
  • UNION ALL: l’operatore UNION ALL funziona ana­lo­ga­men­te a UNION, ma unisce tutti i record della tabella se­le­zio­na­ta, duplicati compresi.
Vai al menu prin­ci­pa­le