Сравнительный анализ всех вариантов SQL JOIN на двух таблицах

INNER оставляет совпавшие пары, LEFT и RIGHT дополнительно сохраняют несовпавшие строки соответствующей стороны, FULL — обеих сторон. CROSS строит все сочетания строк.

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

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

INNER оставляет совпавшие пары, LEFT и RIGHT дополнительно сохраняют несовпавшие строки соответствующей стороны, FULL — обеих сторон. CROSS строит все сочетания строк.

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

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

Условие

Даны две таблицы — T1 и T2. Необходимо выполнить их объединение, используя каждый из известных типов JOIN (INNER, LEFT, RIGHT, FULL, CROSS и др.), и описать, какие строки будут присутствовать в результате каждого запроса.

Ответ

INNER оставляет совпавшие пары, LEFT и RIGHT дополнительно сохраняют несовпавшие строки соответствующей стороны, FULL — обеих сторон. CROSS строит все сочетания строк.

При условии T1.id = T2.id каждому совпадению соответствует отдельная пара: дубликаты ключей перемножаются. Несовпавшая сторона внешнего JOIN заполняется NULL; NULL = NULL не даёт совпадения. CROSS возвращает |T1| × |T2| строк. Для проверки существования используют EXISTS, для отсутствия — NOT EXISTS; self join означает соединение таблицы с собой, а не отдельную семантику совпадения. Конкретные строки и количества без данных T1/T2 определить нельзя. Условие в WHERE после LEFT JOIN может убрать строки с NULL.

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

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

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

Подробнее