Вопрос на собеседовании · Аналитик данных
Чем LEFT JOIN отличается от INNER JOIN на практике?
Короткий ответ, ключевые тезисы и ошибки, которых стоит избежать на интервью.
INNER JOIN возвращает только строки, для которых условие соединения нашло совпадение с обеих сторон. LEFT JOIN сохраняет все строки левой таблицы, а вместо отсутствующих значений правой таблицы подставляет NULL.
Практическая ловушка — фильтр по правой таблице в WHERE после LEFT JOIN. Он отбрасывает строки с NULL и часто превращает результат в эквивалент INNER JOIN. Если нужно сохранить строки без совпадения, условие обычно помещают в ON или явно учитывают NULL.
01 · Структура ответа
Что важно сказать интервьюеру
Начните с определения, затем объясните механизм и закончите примером из практики. Для полного ответа раскройте эти тезисы:
02 · Пример
Как объяснить на практике
Чтобы найти пользователей без заказов, соединяют users LEFT JOIN orders и выбирают строки, где идентификатор заказа IS NULL. INNER JOIN полностью исключил бы таких пользователей ещё на этапе соединения.
Не заучивайте формулировку дословно. Свяжите принцип с задачей из собственного проекта — интервьюер почти наверняка попросит уточнить детали реализации и компромиссы.
03 · Ошибки
Чего избегать в ответе
04 · Углубление
Что могут спросить следом
- Как найти строки без соответствия?
- Почему после JOIN выросла сумма?
- Чем условие в ON отличается от WHERE?
Практика ответа
Ответьте вслух, а не про себя
Откроем тренировку сразу на этом вопросе. Выберите грейд, сформулируйте ответ и сравните его с опорой.
Mira