* split up select.md * array-join.md basic refactoring * distinct.md basic refactoring * format.md basic refactoring * from.md basic refactoring * group-by.md basic refactoring * having.md basic refactoring * additional index.md refactoring * into-outfile.md basic refactoring * join.md basic refactoring * limit.md basic refactoring * limit-by.md basic refactoring * order-by.md basic refactoring * prewhere.md basic refactoring * adjust operators/index.md links * adjust sample.md links * adjust more links * adjust operatots links * fix some links * adjust aggregate function article titles * basic refactor of remaining select clauses * absolute paths in make_links.sh * run make_links.sh * remove old select.md locations * translate docs/es * translate docs/fr * translate docs/fa * remove old operators.md location * change operators.md links * adjust links in docs/es * adjust links in docs/es * minor texts adjustments * wip * update machine translations to use new links * fix changelog * es build fixes * get rid of some select.md links * temporary adjust ru links * temporary adjust more ru links * improve curly brace handling * adjust ru as well * fa build fix * ru link fixes * zh link fixes * temporary disable part of anchor checks
1.7 KiB
machine_translated | machine_translated_rev |
---|---|
true | 72537a2d52 |
Clause UNION ALL
Vous pouvez utiliser UNION ALL
à combiner SELECT
requêtes en étendant leurs résultats. Exemple:
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
Les colonnes de résultat sont appariées par leur index (ordre intérieur SELECT
). Si les noms de colonne ne correspondent pas, les noms du résultat final sont tirés de la première requête.
La coulée de Type est effectuée pour les syndicats. Par exemple, si deux requêtes combinées ont le même champ avec non-Nullable
et Nullable
types d'un type compatible, la UNION ALL
a un Nullable
type de champ.
Requêtes qui font partie de UNION ALL
ne peut pas être placée entre parenthèses. ORDER BY et LIMIT sont appliqués à des requêtes séparées, pas au résultat final. Si vous devez appliquer une conversion au résultat final, vous pouvez mettre toutes les requêtes avec UNION ALL
dans une sous-requête dans la FROM clause.
Limitation
Seulement UNION ALL
est pris en charge. Régulier UNION
(UNION DISTINCT
) n'est pas pris en charge. Si vous avez besoin d' UNION DISTINCT
, vous pouvez écrire SELECT DISTINCT
à partir d'une sous-requête contenant UNION ALL
.
Détails De Mise En Œuvre
Requêtes qui font partie de UNION ALL
peuvent être exécutées simultanément, et leurs résultats peuvent être mélangés ensemble.