UNION оператор SQLite

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

Описание

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

Каждый оператор SELECT в операторе UNION должен иметь одинаковое количество полей в наборах результатов с одинаковыми типами данных.

Синтаксис

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

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

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

expression1, expression2, ... expression_n
Столбцы или расчеты, которые вы хотите получить.

tables
Таблицы, из которых вы хотите получить записи. В операторе FROM должна быть указана хотя бы одна таблица.

WHERE conditions
Необязательный. Условия, которые должны быть выполнены для выбранных записей.

Примечание

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

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

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

В этом примере SQLite оператора UNION, если department_id появилось в таблице departments и employees, оно будет отображаться в результирующем наборе один раз. SQLite оператор UNION удаляет дубликаты. Если вы НЕ хотите удалять дубликаты, попробуйте использовать оператор SQLite UNION ALL.

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

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

Например:

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

Поля department_name / last_name находятся в позиции № 2 в результирующем наборе.