UNION ALL en SQL

UNION ALL apila filas de dos consultas SELECT compatibles. A diferencia de UNION, no elimina duplicados.

UNION apila filas de dos consultas compatibles. Piensa en dos listas de clientes o productos que quieres ver en un único informe sin escribir dos consultas separadas.

La diferencia clave: UNION elimina duplicados; UNION ALL los conserva y suele ser más rápido.

Esta lección sobre UNION ALL en SQL forma parte del tutorial SQL de The Data Schools. Cada ejemplo está pensado para ejecutarse en el editor con las tablas de demostración Clientes, Productos o Pedidos.

UNION y UNION ALL combinan resultados de dos consultas compatibles. Recuerda que ambas SELECT deben devolver el mismo número de columnas con tipos compatibles.

Consejo: escribe consultas pequeñas y verifica el resultado antes de combinar varias cláusulas. Así localizas errores de sintaxis más rápido.


Reglas

Ambas SELECT deben devolver el mismo número de columnas.

Los tipos de columnas deben ser compatibles.

Solo la última consulta puede tener ORDER BY (en muchos motores).

Ciudades de España y Francia

    SELECT Ciudad, Pais FROM Clientes WHERE Pais = 'España'
UNION ALL
SELECT Ciudad, Pais FROM Clientes WHERE Pais = 'Francia';

  
Abrir en editor

UNION vs UNION ALL

UNION elimina filas duplicadas (más costoso).

UNION ALL concatena todo (más rápido si aceptas duplicados).

Conteo con UNION ALL

    SELECT 'España' AS Pais, COUNT(*) AS Total FROM Clientes WHERE Pais = 'España'
UNION ALL
SELECT 'Francia', COUNT(*) FROM Clientes WHERE Pais = 'Francia';

  
Abrir en editor

Resumen

<ul class="list-container"><li>UNION ALL combina resultados sin deduplicar.

  • Columnas y tipos deben coincidir.
  • Cómo practicar en el editor

    1. Pulsa Pruébalo tú mismo en un ejemplo.
    2. Cambia un filtro, columna o literal.
    3. Ejecuta y compara el resultado con la tabla de ejemplo.

    Comprueba lo aprendido

    Responde 2–3 preguntas sobre esta lección. Verás ✓ en verde si aciertas o ✗ en rojo si fallas.