ClickHouse/docs/ru/sql-reference/statements/select/union-all.md
Ivan Blinkov cd14f9ebcb
SQL reference refactoring (#10857)
* 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
2020-05-15 07:34:54 +03:00

2.3 KiB
Raw Blame History

Секция UNION ALL

Вы можете использовать UNION ALL чтобы объединить любое количество SELECT запросы путем расширения их результатов. Пример:

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

Результирующие столбцы сопоставляются по их индексу (порядку внутри SELECT). Если имена столбцов не совпадают, то имена для конечного результата берутся из первого запроса.

При объединении выполняет приведение типов. Например, если два запроса имеют одно и то же поле с не-Nullable и Nullable совместимыми типами, полученные в результате UNION ALL данные будут иметь Nullable тип.

Запросы, которые являются частью UNION ALL не могут быть заключен в круглые скобки. ORDER BY и LIMIT применяются к отдельным запросам, а не к конечному результату. Если вам нужно применить преобразование к конечному результату, вы можете разместить все объединенные с помощью UNION ALL запросы в подзапрос в секции FROM.

Ограничения

Поддерживается только UNION ALL. Обычный UNION (UNION DISTINCT) не поддерживается. Если вам это нужно UNION DISTINCT, вы можете написать SELECT DISTINCT из подзапроса, содержащего UNION ALL.

Детали реализации

Запросы, которые являются частью UNION ALL выполняются параллельно, и их результаты могут быть смешаны вместе.