Вопрос на собеседовании · Аналитик данных

Чем LEFT JOIN отличается от INNER JOIN на практике?

Короткий ответ, ключевые тезисы и ошибки, которых стоит избежать на интервью.

Обновлено 10 августа 2026 г.Встречается почти всегда
Короткий ответ

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

Практическая ловушка — фильтр по правой таблице в WHERE после LEFT JOIN. Он отбрасывает строки с NULL и часто превращает результат в эквивалент INNER JOIN. Если нужно сохранить строки без совпадения, условие обычно помещают в ON или явно учитывают NULL.

01 · Структура ответа

Что важно сказать интервьюеру

Начните с определения, затем объясните механизм и закончите примером из практики. Для полного ответа раскройте эти тезисы:

Выбор JOIN зависит от того, нужно ли сохранять сущности без связанной записи.
Связь один-ко-многим увеличивает число строк результата.
NULL нельзя сравнивать через обычное равенство.
До агрегации нужно понимать гранулярность обеих таблиц.

02 · Пример

Как объяснить на практике

Чтобы найти пользователей без заказов, соединяют users LEFT JOIN orders и выбирают строки, где идентификатор заказа IS NULL. INNER JOIN полностью исключил бы таких пользователей ещё на этапе соединения.

Не заучивайте формулировку дословно. Свяжите принцип с задачей из собственного проекта — интервьюер почти наверняка попросит уточнить детали реализации и компромиссы.

03 · Ошибки

Чего избегать в ответе

Ставить фильтр orders.status в WHERE и случайно терять пользователей без заказов.
Суммировать метрику после соединения один-ко-многим, не заметив дублирование строк.
Путать направление LEFT JOIN и считать таблицы симметричными.

04 · Углубление

Что могут спросить следом

  1. Как найти строки без соответствия?
  2. Почему после JOIN выросла сумма?
  3. Чем условие в ON отличается от WHERE?

Практика ответа

Ответьте вслух, а не про себя

Откроем тренировку сразу на этом вопросе. Выберите грейд, сформулируйте ответ и сравните его с опорой.

Потренировать ответ