Оператор UNION в SQL
Оператор UNION позволяет комбинировать запросы SQL, то есть многократно использовать команду SELECT.
Синтаксис оператора UNION
Использовать оператор UNION довольно просто, для этого нужно указать команды SELECT, и между ними вставить ключевое слово UNION.
Важный момент: по умолчанию оператор UNION автоматически исключает из результатов все повторяющиеся значения, если требуется вернуть все вхождения, требуется использовать оператор UNION ALL.
SELECT поля_таблиц FROM список_таблиц WHERE условия_для_выборки UNION SELECT поля_таблиц FROM список_таблиц WHERE условия_для_выборки;
Ограничения оператора UNION
В стандартизации SQL не существует ограничений на количество использования команды SELECT, которые могут быть скомбинированы посредством команды SELECT. Однако лучше открыть текущую документацию СУБД и убедиться в том, что она не накладывает каких-либо ограничений на максимально допустимое число инструкций.
Правила применения оператора UNION
Существует несколько простых правил при использовании оператора UNION:
- оператор UNION должен включать две или более инструкции SELECT, отделенные друг от друга ключевым словом UNION;
- каждый запрос в операторе UNION должен содержать одни и те же столбцы, выражения или итоговые функции;
- типы данных столбцов должны быть совместимыми.
Практический пример
Нужно вывести из таблицы Users возраст всех пользователей от 15 до 35 лет, а также вывести еще пользователей с возрастом 50 лет.
SELECT name FROM Users WHERE name BETWEEN 15 AND 35 UNION SELECT name FROM Users WHERE name = 50;
Метки: SQL, UNION, Комбинированные запросы.