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