Соединения. Рассмотрим некоторые виды соединения.
Рассмотрим некоторые виды соединения.
1. Соединение по равенству, обычное или внутреннее соединение
Операция соединения по равенству определяет отношение, которое содержит кортежи из декартова произведения отношения R10 и R11, удовлетворяющие условию сочетаемых столбцов.
Пример: Показать всех сотрудников, их должности и оклады. Исходные данные отображены в таблицах 12 и 13, результат объединения указан в таблице 14.
SELECT Сотрудники. Код сотрудника, Сотрудники. Имя, Сотрудники. Фамилия, Сотрудники. Отчество, Должности. Название должности, Должности. Оклад
FROM Сотрудники, Должности
WHERE Сотрудники.Код должности=Должности.Код должности;
или
SELECT Сотрудники. Код сотрудника, Сотрудники. Имя, Сотрудники. Фамилия, Сотрудники. Отчество, Должности. Название должности, Должности. Оклад
FROM Сотрудники INNER JOIN Должности ON Сотрудники. Код должности = Должности. Код должности;
Таблица 12 - Отношение R10, исходное для операции соединение по равенству (таблица Сотрудники)
| R10 – информация о сотрудниках | ||||
| Код сотрудника | Фамилия | Имя | Отчество | Код должности |
| Иванов | Юрий | Игоревич | ||
| Орлов | Егор | Петрович | ||
| Юрков | Павел | Антонович | ||
| Степанов | Олег | Сергеевич | ||
| Петров | Сергей | Олегович | ||
| Локтев | Павел | Сергеевич |
Таблица 13 - Отношение R11, исходное для операции соединение по равенству (таблица Должности)
| R10 – информация о должностях | ||
| Код должности | Название должности | Оклад |
| Программист | ||
| Администратор | ||
| Оператор | ||
| Машинист | ||
| Стажер |
Таблица 14 - Отношение R11, результат декартова произведения
| R11 – информация о сотрудниках и их должностях и окладах | |||||
| Код сотрудника | Фамилия | Имя | Отчество | Название должности | Оклад |
| Иванов | Юрий | Игоревич | Программист | ||
| Орлов | Егор | Петрович | Программист | ||
| Юрков | Павел | Антонович | Программист | ||
| Степанов | Олег | Сергеевич | Администратор | ||
| Петров | Сергей | Олегович | Машинист | ||
| Локтев | Павел | Сергеевич | Стажер |
2. Внешнее соединение
Операция внешнее соединение, при котором в результирующее отношение включаются также кортежи отношений, не имеющих совпадающих значений в общих столбцах. Для обозначения отсутствующих значений используется значение NULL. Внешние соединения делятся на полное внешнее соединение (FULL JOIN), левое внешнее соединение (LEFT JOIN) и правое внешнее соединение (RIGHT JOIN).
Пример правого внешнего соединения. Показать всех сотрудников, их должности и оклады. Исходные данные отображены в таблицах 9 и 10, результат объединения указан в таблице 12.
SELECT Сотрудники. Код сотрудника, Сотрудники. Имя, Сотрудники. Фамилия, Сотрудники. Отчество, Должности. Название должности, Должности. Оклад
FROM Сотрудники RIGHT JOIN Должности ON Сотрудники. Код должности = Должности. Код должности;
Дата добавления: 2015-01-19; просмотров: 907;
