Базы данных. Основы SQL реляционных баз данных. Копейкин М.В - 115 стр.

UptoLike

UNION в запросе Рис. 5.14. Сортировка по первому столбцу
Обратите внимание, что в обоих запросах используется одинаковое число столбцов
с совместимыми типами данных (иначе будет противоречие по определению операции
UNION). В качестве заголовков столбцов используются имена столбцов (или
псевдонимы) первого запроса. В результат включен еще один результирующий столбец,
которого фактически в базе нет
. Каждая из инструкций SELECT может иметь свое
собственное предложение WHERE, но весь запрос может использовать только одно
предложение ORDER BY. Применяется оно ко всему результату и должно находиться в
последней инструкции SELECT.
Если в конец предыдущего запроса (перед точкой с запятой) добавить фразу
ORDER BY 1, то получим следующую таблицу (рис. 5.14).
По умолчанию оператор UNION автоматически устраняет из результата
повторяющиеся строки. Чтобы избежать этого, необходимо после оператора UNION
добавить ключевое слово ALL
Кроме того, оператор UNION можно использовать для отображения различных
значений одного поля в зависимости от значений в других полях.
Пусть, например, в таблице РАБОТЫ (рис. 2.8) значения столбца Цена необходимо
изменить по следующему правилу: если
значение меньше 1.6, то добавить 0.1, иначе
вычесть 0.1. Запрос приведен ниже, а результат представлен на рисунке 5.15.
SELECT “на+0.1”, Цена AS Старая , Цена+0.1 AS Новая
FROM Работа
WHERE Цена < 1.6
UNION ALL
SELECT “на-0.1”, Цена AS Старая , Цена-0.1 AS Новая
FROM Работа
WHERE Цена <> 1.6
SELECT
ORDER BY 1;