Погружение в базы данных Oracle

Данная книга является руководством для начинающих специалистов в области анализа и обработки данных. В книге рассматривается язык SQL и его процедурное расширение PL/SQL от компании Oracle.

Купить книгу

SQL без слёз

Цель книги заключается в том, чтобы научить любого человека работать с реляционными базами данных и получать из них необходимую информацию посредством выполнения SQL-запросов.

Скачать книгу

 ›  ›  ›  › Оператор UNION в SQL

Оператор 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;

Метки: , , .

Записи по теме

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *