Server for Information Technologies
Сервер содержит море(!) аналитической информации
Поддерживается Центром Информационных Технологий
Закажите копию citforum.ru на CD
в магазине "Мистраль"!
cbd2000

24-26 апреля.
Пятая техническая конференция

"Корпоративные базы данных 2000"
mcse

Учебная программа
"Статус MCSE под ключ!"

Занятия начнутся 15 мая!

 

3.4. Объединение (UNION)

В литературе [2] рассматривалась реляционная операция "Объединение", позволяющая получить отношение, состоящее из всех строк, входящих в одно или оба объединяемых отношения. Но при этом исходные отношения или их объединяемые проекции должны быть совместимыми по объединению. Для SQL это означает, что две таблицы можно объединять тогда и только тогда, когда:

  1. они имеют одинаковое число столбцов, например, m;
  2. для всех i (i = 1, 2, ..., m) i-й столбец первой таблицы и i-й столбец второй таблицы имеют в точности одинаковый тип данных.

Например, выдать названия продуктов, в которых нет жиров, либо входящих в состав блюда с кодом БЛ = 1:

Результат:Продукт
SELECT	Продукт
FROM	Продукты
WHERE	Жиры = 0
UNION
SELECT	Продукт
FROM	Соста
WHERE	БЛ = 1
Майонез
Лук
Помидоры
Зелень
Яблоки
Сахар

Из этого простого примера видно, что избыточные дубликаты всегда исключаются из результата UNION. Поэтому, хотя в рассматриваемом примере Помидоры, Зелень и Яблоки выбираются обеими из двух составляющих предложения SELECT, в окончательном результате они появляются только один раз.

Предложением с UNION можно объединить любое число таблиц (проекций таблиц). Так, к предыдущему запросу можно добавить (перед точкой с запятой) конструкцию

UNION
SELECT	Продукт
FROM	Продукты
WHERE	Ca < 250

позволяющую добавить к списку продуктов Масло, Рис, Мука и Кофе. Однако тот же результат можно получить простым изменением фразы WHERE первой части исходного запроса

WHERE Жиры = 0  OR  Ca < 250

3.3.7 | Содержание | 3.5

Home Каталог ресурсов Поиск Рубрикатор FTP-архив Subscribe

Logo

24-26 апреля. Пятая техническая конференция
"Корпоративные базы данных 2000"
На конференции выступают представители ведущих компаний: Oracle, Informix, IBM, Computer Associates, Sybase, Microsoft, Software AG и др.


Комментарии: info@citmgu.ru
Newman    Книжный магазин Mistral Copyright ©