Основные виды — INNER JOIN, LEFT/RIGHT OUTER JOIN, FULL OUTER JOIN и CROSS JOIN. Они различаются сохранением несовпавших строк и способом сочетания таблиц.
Какие виды JOIN существуют в реляционных СУБД?
Основные виды — INNER JOIN, LEFT/RIGHT OUTER JOIN, FULL OUTER JOIN и CROSS JOIN. Они различаются сохранением несовпавших строк и способом сочетания таблиц.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Основные виды — INNER JOIN, LEFT/RIGHT OUTER JOIN, FULL OUTER JOIN и CROSS JOIN. Они различаются сохранением несовпавших строк и способом сочетания таблиц.
Inner оставляет совпадения, outer дополняет отсутствующую сторону NULL, cross даёт декартово произведение. Self join — соединение таблицы с самой собой, а не отдельный алгоритм. Набор поддерживаемого синтаксиса зависит от СУБД; фильтр WHERE после outer join может убрать строки, которые хотелось сохранить.