Чем INNER JOIN отличается от LEFT JOIN?

INNER JOIN возвращает только совпавшие пары строк, а LEFT JOIN сохраняет все строки левой таблицы, подставляя NULL справа при отсутствии совпадения.

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

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

INNER JOIN возвращает только совпавшие пары строк, а LEFT JOIN сохраняет все строки левой таблицы, подставляя NULL справа при отсутствии совпадения.

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

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

INNER JOIN возвращает только совпавшие пары строк, а LEFT JOIN сохраняет все строки левой таблицы, подставляя NULL справа при отсутствии совпадения.

Например, users INNER JOIN orders покажет пользователей с заказами, а LEFT JOIN позволит увидеть и пользователей без заказов. Несколько заказов одного пользователя дадут несколько строк в обоих случаях. Фильтр по полю orders в WHERE может исключить NULL-строки и фактически изменить результат outer join; иногда условие нужно в ON. Выбор зависит от требуемого множества результатов, а не от того, какой JOIN кажется быстрее.

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

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

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

Подробнее