UNION frente a UNION ALL
Parte de la sección Más allá de lo básico del Journey de SQL de Coddy. Lección 16 de 27.
Conociste UNION en Fundamentals: apila dos conjuntos de resultados uno sobre otro. De forma predeterminada, también elimina los duplicados, lo que requiere una ordenación adicional.
SELECT name FROM authors
UNION
SELECT name FROM editorsUNION ALL hace el mismo apilamiento, pero conserva los duplicados. Es más rápido y casi siempre es lo que quieres cuando sabes que los dos lados no pueden producir la misma fila o cuando realmente quieres contar cada aparición.
SELECT name FROM authors
UNION ALL
SELECT name FROM editorsAmbos lados deben devolver el mismo número de columnas, en el mismo orden y con tipos compatibles.
Desafío
FácilTablas y columnas disponibles:
online_orders:order_no,amountretail_orders:ticket_no,total
Las dos tablas registran pedidos de diferentes canales con nombres de columna distintos. Devuelve una lista combinada de todos los pedidos con las columnas:
channel:'online'o'retail'order_id:order_node online,ticket_node retailamount: el total del pedido (deamountototal)
Conserva todas las filas (sin eliminar duplicados). Ordena por amount en orden descendente.
Pruébalo tú mismo
-- dos SELECTs alineados a las mismas 3 columnas, unidos por UNION ALL
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Más allá de lo básico
Practica por tu cuenta: Playground de SQL