Объединил все в один раздел UNION.
1.6 KiB
machine_translated | machine_translated_rev |
---|---|
true | 72537a2d52 |
UNION Cláusula
Usted puede utilizar UNION ALL
combinar cualquier número de SELECT
consultas extendiendo sus resultados. Ejemplo:
SELECT CounterID, 1 AS table, toInt64(count()) AS c
FROM test.hits
GROUP BY CounterID
UNION ALL
SELECT CounterID, 2 AS table, sum(Sign) AS c
FROM test.visits
GROUP BY CounterID
HAVING c > 0
Las columnas de resultados coinciden con su índice (orden dentro SELECT
). Si los nombres de columna no coinciden, los nombres del resultado final se toman de la primera consulta.
La fundición de tipo se realiza para uniones. Por ejemplo, si dos consultas que se combinan tienen el mismo campo-Nullable
y Nullable
tipos de un tipo compatible, el resultado UNION ALL
tiene una Nullable
campo de tipo.
Consultas que son parte de UNION ALL
no se puede encerrar entre corchetes redondos. ORDER BY y LIMIT se aplican a consultas separadas, no al resultado final. Si necesita aplicar una conversión al resultado final, puede colocar todas las consultas con UNION ALL
en una subconsulta en el FROM clausula.
Limitacion
Solo UNION ALL
se admite. Regular UNION
(UNION DISTINCT
) no es compatible. Si necesita UNION DISTINCT
usted puede escribir SELECT DISTINCT
de una subconsulta que contiene UNION ALL
.
Detalles de implementación
Consultas que son parte de UNION ALL
se puede ejecutar simultáneamente, y sus resultados se pueden mezclar juntos.