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.

Consiglio

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
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 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
Consiglio

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.

Server virtuali (VPS)
Virtualizzazione totale con accesso root completo
  • 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
sql

Riunire 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
sql

Unire 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à;
sql

Alternative 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 come INNER JOIN, LEFT JOIN, RIGHT JOIN e FULL JOIN oppure CROSS JOIN. Con le istruzioni JOIN puoi unire i record di due tabelle in modo molto più mirato e flessibile che con UNION, perché puoi anche definire condizioni con la clausola ON.
  • 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’operatore UNION ALL funziona analogamente a UNION, ma unisce tutti i record della tabella selezionata, duplicati compresi.
Hai trovato questo articolo utile?
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.
Page top