MariaDB оператор UNION ALL

В этом учебном пособии вы узнаете, как использовать MariaDB оператор UNION ALL с синтаксисом и примерами.

Описание

MariaDB оператор UNION ALL используется для объединения результирующих наборов из 2 или более операторов SELECT. Он возвращает все строки из запроса и не удаляет повторяющиеся строки между различными операторами SELECT.
Каждый оператор SELECT в MariaDB операторе UNION ALL должен иметь одинаковое количество полей в наборах результатов с одинаковыми типами данных.

Синтаксис

Синтаксис оператора UNION ALL в MariaDB:

SELECT expression1, expression2, .. expression_n
FROM tables
[WHERE conditions]
UNION ALL
SELECT expression1, expression2, .. expression_n
FROM tables
[WHERE conditions];

Параметры или аргументы

expression1, expression2, .. expression_n
Столбцы или вычисления, которые вы хотите получить.
tables
Таблицы, из которых вы хотите получить записи. В предложении FROM должна быть указана хотя бы одна таблица.
WHERE conditions
Необязательный. Условия, которые должны быть выполнены для записей, которые будут выбраны.

Примечание

  • В обоих запросах SELECT должно быть одинаковое количество выражений.
  • Имена столбцов из первого оператора SELECT используются в качестве имен столбцов для набора результатов.

Пример возврат одного поля

Ниже приведен пример оператора MariaDB UNION ALL, который возвращает одно поле из нескольких операторов SELECT (и оба поля имеют одинаковый тип данных):

Оператор UNION ALL будет возвращать site_id несколько раз в вашем наборе результатов, если site_id появляется в таблицах sites и pages. MariaDB оператор UNION ALL не удаляет дубликаты. Если вы хотите удалить дубликаты, попробуйте использовать оператор MariaDB UNION.

Пример - использование ORDER BY

MariaDB оператор UNION ALL может использовать предложение ORDER BY для упорядочивания результатов оператора.
Например:

В этом примере оператора UNION ALL, поскольку имена столбцов в двух операторах SELECT различаются, более выгодно ссылаться на столбцы в операторе ORDER BY по их положению в наборе результатов. В этом примере мы отсортировали результаты по site_name / page_title в порядке возрастания, как обозначено ORDER BY 2 .
Поля site_name / page_title находятся в позиции № 2 в наборе результатов.