* DOCSUP-2806: Add meta intro. * DOCSUP-2806: Update meta intro. * DOCSUP-2806: Fix meta. * DOCSUP-2806: Add quotes for meta headers. * DOCSUP-2806: Remove quotes from meta headers. * DOCSUP-2806: Add meta headers. * DOCSUP-2806: Fix quotes in meta headers. * DOCSUP-2806: Update meta headers. * DOCSUP-2806: Fix link to nowhere in EN. * DOCSUP-2806: Fix link (settings to tune) * DOCSUP-2806: Fix links. * DOCSUP-2806:Fix links EN * DOCSUP-2806: Fix build errors. * DOCSUP-2806: Fix meta intro. * DOCSUP-2806: Fix toc_priority in examples datasets TOC. * DOCSUP-2806: Fix items order in toc. * DOCSUP-2806: Fix order in toc. * DOCSUP-2806: Fix toc order. * DOCSUP-2806: Fix order in toc. * DOCSUP-2806: Fix toc index in create * DOCSUP-2806: Fix toc order in create. Co-authored-by: romanzhukov <romanzhukov@yandex-team.ru> Co-authored-by: alexey-milovidov <milovidov@yandex-team.ru>
2.3 KiB
toc_title |
---|
UNION ALL |
Секция 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
выполняются параллельно, и их результаты могут быть смешаны вместе.