INNER JOIN оставляет совпадения, LEFT и RIGHT сохраняют все строки выбранной стороны, FULL — обеих сторон, CROSS строит декартово произведение. Это логические виды соединения, не алгоритмы выполнения.
Расскажешь подробнее про JOIN-операции, чем они отличаются друг от друга?
INNER JOIN оставляет совпадения, LEFT и RIGHT сохраняют все строки выбранной стороны, FULL — обеих сторон, CROSS строит декартово произведение. Это логические виды соединения, не алгоритмы выполнения.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
INNER JOIN оставляет совпадения, LEFT и RIGHT сохраняют все строки выбранной стороны, FULL — обеих сторон, CROSS строит декартово произведение. Это логические виды соединения, не алгоритмы выполнения.
При внешнем соединении отсутствующая сторона заполняется NULL. Если ключ повторяется в обеих таблицах, одно значение может дать несколько комбинаций строк — JOIN не удаляет дубли автоматически. Условия по правой таблице в WHERE способны изменить смысл LEFT JOIN. Hash join, merge join и nested loop — физические способы выполнения, которые выбираются отдельно.