Обьединением двух множеств называется множество всех элементов, принадлежащих какому-либо одному или обоим исходным множествам. Результатом обьединения будет множество, состоящее из всех строк, входящих в какое-либо одно или в оба первоначальных отношения. Однако, если этот результат сам по себе должен быть другим отношением, а не просто разнородной смесью строк, то два исходных отношения должны быть совместимыми по объединению, т. е. строки в обоих отношениях должны быть одной и той же формы. Что касается SQL, то две таблицы совместимы по объединению (и к ним может быть применен оператор обьединения UNION) тогда и только тогда, когда:
Они имеют одинаковое число полей (например, m);
Для всех i (i = 1, 2,..., m) i-е поле первой таблицы и i-е поле второй таблицы имеют в точности одинаковый тип данных.
Из результата выборки, использующей оператор UNION, всегда исключаются избыточные дубликаты. Оператором UNION можно соединить любое число конструкций SELECT. Оператор ORDER BY в запросе с использованием оператора UNION может входить только в последнее предложение SELECT. При указании критерия упорядочивания используйте номера полей результирующей таблицы. При использовании оператора UNION часто оказывается полезным включение константы в результирующую таблицу.
|
|
Пример 33. Выберем названия факультетов и специальностей:
SELECT nazv_f FROM fakultet UNION SELECT nazv_s FROM spec;
Пример 34. Выберем названия факультетов и специальностей:
SELECT kod_f, nazv_f FROM fakultet UNION SELECT kod_s, nazv_s FROM spec ORDER BY 2,1;
Результат:
kod_f | nazv_f |
Аграрный | |
Ветеринария | |
Вычислительные машины, комплексы, системы и сети | |
Информационные системы и технологии | |
Исторический | |
История | |
Математики и ИТ | |
Управление качеством | |
Филологический |
В начало