Естественное объединение
Естественное объединение
Частным случаем объединения, основанного на равенстве, является естественное объединение (natural join). В предложении WHERE из объединения, основанного на равенстве, проверяется равенство значения из столбца первой исходной таблицы значению из столбца второй. У двух столбцов должны быть одинаковые тип и длина, как, впрочем, у сравниваемых столбцов должно быть одно и то же имя. На самом же деле при естественном объединении равенство проверяется для всех столбцов из первой таблицы, имеющих те же имена, что и соответствующие им столбцы из второй.
Представьте, что в таблице COMPENSATION из предыдущего примера также имеются столбцы Salary и Bonus, но Employ заменен на ЕтрШ. В таком случае можно выполнить естественное объединение таблиц COMPENSATION и EMPLOYEE. Традиционный синтаксис объединения должен выглядеть примерно так:
SELECT E.*, С.Salary, С.Bonus
FROM EMPLOYEE E, COMPENSATION С
WHERE E.EmpID = C.EmpID ;
Этот запрос является естественным произведением. Для той же самой операции есть и альтернативный синтаксис:
SELECT E.*, С.Salary, С.Bonus
FROM EMPLOYEE E NATURAL JOIN COMPENSATION С ;