Menu

UNION vs UNION ALL

Agosto 14, 2010 - SQL Server

Pocos son los que conocen la diferencia UNION y UNION ALL, ésta clausula permite unir dos consultas diferentes en un mismo resultset para obtener solo 1 resultado en vez de dos, explicare la diferencia que existe al usar UNION y UNION ALL.

Ahora, asumamos dos tablas:

TABLE_A

ID Descripcion
1 Stravaganzza
2 Iron Maiden
3 Andromeda
4 Rhapsody Of Fire

TABLE_B

ID Descripcion
1 Angra
2 Iron Maiden
3 Andromeda
4 Kraken

La consulta base sera:


SELECT descripcion FROM TABLE_A

UNION | UNION ALL

SELECT * FROM TABLE_B

UNION:

Descripcion
Stravagannza
Angra
Iron Maiden
Rhapsody Of Fire
Kraken

UNION ALL:

Descripcion
Stravaganzza
Angra
Iron Maiden
Iron Maiden
Andromeda
Andromeda
Rhapsody Of Fire
Kraken

Conclusión:

Como pudimos observar, la diferencia radica en que al hacer UNION éste internamente realiza un DISTINCT de los valores, cosa que no hace el UNION ALL y por ende hace mas lento al primero. Eso seria todo por ahora…

Happy Coding!!

Etiquetas: , ,

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *