MariaDB оператор UNION

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

Описание

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

Синтаксис

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

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

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

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

Примечание

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

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

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

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

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

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

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