Gli operatori SQL, UNION e UNION ALL, vengono utilizzati per unire o collegare due o più insiemi di risultati. SQL sta per Structured Query Language, un linguaggio per database.
È un linguaggio di programmazione ideato con precisione per archiviare, recuperare, gestire o manipolare i dati. Consente di gestire le informazioni anche utilizzando le tabelle.
Punti chiave
- UNION combina due o più istruzioni SELECT e rimuove i record duplicati, mentre UNION ALL unisce il risultato senza eliminare i duplicati.
- UNION funziona più lentamente a causa della necessità di filtrare i duplicati, mentre UNION ALL offre prestazioni più veloci in quanto non richiede un'ulteriore elaborazione.
- UNION garantisce un set di risultati distinto, mentre UNION ALL può restituire un set di risultati più grande contenente tutti i record delle tabelle combinate.
UNIONE vs UNIONE TUTTI
La differenza tra UNION e UNION ALL è che UNION conserva solo i record univoci e rimuove quelli duplicati durante la concatenazione dei dati. Al contrario, UNION ALL conserva tutti i record del set originale, inclusi i record duplicati.

L'operatore UNION in SQL agisce come uno degli operatori SET. Viene generato per combinare i risultati di più tabelle o più query SQL. L'operatore unisce le tabelle e fornisce un singolo set di risultati. Il comando UNION può combinare il set di due o più istruzioni selezionate.
Il comando UNION ALL aiuta anche a combinare più di due istruzioni. Ma questo è diverso dal precedente. UNION ALL consente valori duplicati nel set di risultati. Non filtra le stesse istruzioni e unisce tutti i valori nel set di risultati.
Tavola di comparazione
Parametri di confronto | UNION | UNIONE TUTTI |
---|---|---|
Funzionalità | Non funziona con colonne che hanno tipi di dati di testo. | Funziona con tutte le colonne del tipo di dati. |
Funzione | Combina più istruzioni e fornisce risultati in valori distinti. | Combina più istruzioni e fornisce risultati contenenti tutti i valori. |
caratteristica | Ha una funzione per eliminare affermazioni identiche dal risultato. | Non ha alcuna funzione per eliminare le stesse affermazioni. |
Cookie di prestazione | Le sue prestazioni sono lente in quanto ci vuole tempo per identificare e rimuovere dichiarazioni duplicate. | È relativamente veloce. |
preferenza | Gli utenti tendono a favorire questo operatore. | Gli utenti non sono propensi a utilizzare questo operatore. |
Cos'è UNION?
UNION è un tipo di operatore SET in SQL, e viene utilizzato per combinare più istruzioni SQL. UNION combina i risultati generati da più tabelle e li trasforma in un singolo risultato. Il set risultante contiene tutte le righe, ma quelle duplicate vengono rimosse.
Per utilizzare l'operatore UNION, le istruzioni selezionate devono avere lo stesso numero di colonne. E i dati in queste colonne devono essere compatibili con l'operatore. Anche l'ordine delle colonne deve essere esaminato e mantenuto lo stesso.
L'operatore UNION può essere utilizzato su due o più tabelle. Tuttavia, il suo funzionamento richiede tempo in quanto elimina le dichiarazioni duplicate. Anche così, l'operatore UNION è il preferito tra gli utenti in quanto aiuta a eliminare i duplicati dal set risultante.
Il nome della colonna selezionato nelle diverse query SELECT deve essere nello stesso ordine per il corretto funzionamento dell'operatore. Tuttavia, il nome della colonna della prima query selezionata sarà il nome del risultato.
L'operatore UNION unisce le tabelle verticalmente. Affinché l'operatore funzioni, l'esigenza fondamentale è che i campi SELECT abbiano lo stesso numero di campi e che anche il loro tipo di dati sia simile. Per le sue caratteristiche, l'operatore UNION è preferito dagli utenti.
Cos'è UNION ALL?
UNION ALL viene utilizzato anche per concatenare i dati di due diversi set SQL. È uno dei quattro operatori SQL SET e viene utilizzato principalmente per combinare il set risultante di due o più set SQL. È molto simile all'operatore UNION, ma ci sono anche differenze sfumate.
Per utilizzare l'operatore UNION ALL, il requisito di base è che il numero di colonne deve essere lo stesso nelle query SELECT. Anche i loro tipi di dati devono essere compatibili e uguali. Inoltre, il posizionamento delle colonne e dei dati deve essere lo stesso in modo che l'unione possa essere eseguita in modo efficace.
UNION ALL è simile a UNION e viene utilizzato per concatenare le tabelle di dati. Tuttavia, i set risultanti utilizzando UNION ALL sono diversi. Il risultato contiene tutte le righe e le colonne delle istruzioni selezionate.
UNION ALL non elimina le stesse query dal risultato. Al contrario, unisce tutte le voci selezionate e non rimuove quelle ripetute. Questa è la principale differenza tra UNION e UNION ALL.
Poiché UNION ALL non ha bisogno di eliminare le istruzioni duplicate, funziona in modo comparativamente migliore. Tuttavia, gli utenti non preferiscono utilizzare questo operatore.
Principali differenze tra UNION e UNION ALL
- I risultati generati da UNION contengono istruzioni univoche, mentre UNION ALL aggiunge anche voci duplicate e combina semplicemente tutte le voci nell'insieme risultante.
- L'operatore UNION è preferito dagli utenti anche se è più lento. UNION ALL non è favorito dagli utenti. Questa inclinazione probabilmente potrebbe essere dovuta alle migliori caratteristiche di UNION.
- L'operatore UNION è relativamente più lento nella sua funzione rispetto all'operatore UNION ALL perché richiede tempo per eliminare le istruzioni duplicate.
- L'operatore UNION ha questa funzione predefinita per eliminare le istruzioni ripetute, ma l'operatore UNION ALL non ha tale funzione.
- L'operatore UNION non funziona con le colonne con tipo di dati testo. Ma UNION ALL funziona con tutti i tipi di colonne di dati.