Какие виды JOIN бывают в SQL (логические), чем они отличаются друг от друга?

Логические JOIN определяют, какие пары и несопоставленные строки попадают в результат: INNER, LEFT, RIGHT, FULL и CROSS. Это не физические алгоритмы hash, merge или nested loop.

Короткий ответ

Что ответить на собеседовании

Логические JOIN определяют, какие пары и несопоставленные строки попадают в результат: INNER, LEFT, RIGHT, FULL и CROSS. Это не физические алгоритмы hash, merge или nested loop.

Подробный разбор

Ответ с пояснениями

Логические JOIN определяют, какие пары и несопоставленные строки попадают в результат: INNER, LEFT, RIGHT, FULL и CROSS. Это не физические алгоритмы hash, merge или nested loop.

INNER сохраняет совпадения, LEFT/RIGHT — ещё и все строки выбранной стороны, FULL — обеих сторон. CROSS создаёт все пары. Self join — применение соединения таблицы с самой собой, а не отдельный алгоритм.

Semi join оставляет строки с существующим совпадением, anti join — без него; часто их выражают через EXISTS/NOT EXISTS. Дубликаты и NULL требуют внимания: обычное равенство не считает два NULL совпавшими.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее