L'operatore UNION seleziona le righe da due o più tabelle, se le righe delle tabelle sono le stesse vengono incluse solo una volta nel set di risultati. Per esempio:
SELECT age
FROM teachers
UNION
SELECT age
FROM students;
Per utilizzare UNION in SQL, dobbiamo ricordare:
L'operatore UNION ALL seleziona le righe da due o più tabelle simili, senza ignorare le righe duplicate.
SELECT age
FROM teachers
UNION ALL
SELECT age
FROM students;
| UNION | UNION ALL |
|---|---|
| Restituisce solo le righe distinte dal set di risultati di due query. | Restituisce i valori duplicati dal set dei risultati di due query. |
Più lento rispetto all'operatore UNION ALL. |
Viene eseguito velocemente poiché non è necessario filtrare i set di risultati rimuovendo i valori duplicati. |
È consigliabile usare UNION ALL quando sappiamo che il set di risultati avrà valori univoci in quanto migliora le prestazioni.
| JOIN | UNION |
|---|---|
| Viene utilizzato per combinare i dati in nuove colonne di tabelle diverse. | Viene utilizzato per combinare i dati in nuove righe dal risultato di query diverse. |
| Utilizza la colonna comune in entrambe le tabelle per recuperare i dati. | Seleziona i dati da due tabelle e combina l'output. |
| Nelle tabelle può essere presente un numero qualsiasi di colonne. | Il conteggio delle colonne deve essere lo stesso in entrambe le tabelle. |
| Il tipo di dati delle colonne può essere diverso. | Il tipo di dati delle colonne deve essere lo stesso. |