Ordenar un UNION en SQL
El ORDER BY de un UNION pertenece al resultado completo, no a la última rama.
SELECT
'customer' AS kind,
name,
email
FROM customers
UNION ALL
SELECT
'signup' AS kind,
NULL,
email
FROM newsletter_signups
ORDER BY kind, email;
Cómo funciona
- Un solo
ORDER BYal final ordena las filas combinadas. - Una columna literal marca de qué rama vino cada fila.
- Las ramas deben coincidir en número de columnas y alinearse por posición.
Palabras clave y builtins usados aquí
ALLASBYFROMNULLORDERSELECTUNION
El intento, en números
- Líneas
- 12
- Caracteres a escribir
- 146
- Tokens
- 28
- Ritmo de tres estrellas
- 90 tpm
Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 19 segundos.
Paso 2 de 3 en Operaciones de conjuntos; paso 19 de 22 en Joins y agregación.