Операция соединения — одна из операций реляционной алгебры.

Исходными данными для операции являются два отношения и предикат (условие соединения). Результатом операции является отношение, логически получаемое как декартово произведение исходных отношений, к которому применена операция выборки (ограничения) с указанным предикатом (условием соединения).

Пример:

Имеются отношения Служащий и Отдел. Задано условие соединения: «Служащий.[Код отдела]=Отдел.[Код отдела]»

СлужащийФамилияКод отделаИванов 34Петров 36Сидоров 34Сергеев 34 ОтделНазваниеКод отделаБухгалтерия 34Маркетинг 36

Результатом операции соединения будет:

Результат соединенияСлужащий.ФамилияСлужащий.Код отделаОтдел.НазваниеОтдел.Код отделаИванов 34Бухгалтерия34Петров 36Маркетинг36Сидоров 34Бухгалтерия34Сергеев 34Бухгалтерия34

На уровне реализации операция соединения обычно не выполняется как выборка из декартова произведения. Предложены более эффективные алгоритмы, гарантирующие получение такого же логического результата:

Алгоритм соединения вложенными циклами. Алгоритм соединения хешированием. Алгоритм соединения слиянием сортированных списков.

См. также Join (SQL)

Категория:Реляционная алгебра Категория:СУБД А