Теория баз данных



         

Внешние объединения - часть 2


Ключевое слово RIGHT означает правое внешнее объединение, и в отличие от левого объединения в этом случае в результирующее отношение включаются все строки таблицы 2, а недостающие части из таблицы 1 дополняются неопределенными значениями, Ключевое слово FULL определяет полное внешнее объединение: и левое и правое. При полном внешнем объединении выполняются и правое и левое внешние объединения и в результирующее отношение включаются все строки из таблицы 1, дополненные неопределенными значениями, и все строки из таблицы 2, также дополненные неопределёнными значениями.

Ключевое слово OUTER означает внешнее, но если заданы ключевые слова FULL, LEFT, RIGHT, то объединение всегда считается внешним.

Рассмотрим примеры выполнения внешних объединений. Снова вернемся к БД «Сессия». Создадим отношение, в котором будут стоять все оценки, полученные всеми студентами по всем экзаменам, которые они должны были сдавать. Если студент не сдавал данного экзамена, то вместо оценки у него будет стоять неопределенное значение. Для этого выполним последовательно естественное внутреннее объединение таблиц R2 и R3 по атрибуту Группа, а полученное отношение соединим левым внешним естественным объединением с таблицей R1, используя столбцы ФИО и Дисциплина. При этом в стандарте разрешено использовать скобочную структуру, так как результат объединения может быть одним из аргументов в части FROM оператора SELECT.

SELECT Rl.ФИО, R1.Дисциплина. Rl.Оценка

FROM (R2 NATURAL INNER JOIN R3 ) LEFT JOIN Rl USING ( ФИО. Дисциплина)

Результат:

ФИО

Дисциплина

Оценка

Петров Ф. И.

Базы данных

5

Сидоров К. А.

Базы данных

4

Миронов Л. В.

Базы данных

2

Степанова К. Е.

Базы данных

2

Крылова Т. С.

Базы данных

5

Владимиров В. А.

Базы данных

5

Петров Ф. И.

Теория информации

Null

Сидоров К. А.

Теория информации

4

Миронов А. В.

Теория информации

Null

Степанова К. Е.

Теория информации

2

Крылова Т. С.

Теория информации

5

Владимиров В. А.

Теория информации

Null

Петров Ф. И.

Английский язык

5

Сидоров К. А.

Английский язык

Null

Миронов А. В.

Английский язык

Null

Степанова К. Е.

Английский язык

Null

Крылова Т. С.

Английский язык

Null

Владимиров В. А.

Английский язык

4

Трофимов П. А.

Сети и телекоммуникации

4

Иванова Е. А.

Сети и телекоммуникации

5

<


Содержание  Назад  Вперед