Чем INNER JOIN отличается от LEFT JOIN и когда какой использовать?
Как отвечать ▾Скрыть подсказку ▴
Как отвечать: Объясните сохранение строк из левой таблицы, потерю unmatched rows и пример анализа пользователей без заказов.
Пример сильного ответа
INNER JOIN оставляет только те строки, где есть совпадение в обеих таблицах, а LEFT JOIN сохраняет все строки левой таблицы, подставляя NULL там, где пары не нашлось. Выбор зависит от вопроса к данным: если нужны только заказы с известным клиентом — INNER; если важно увидеть всех клиентов, в том числе без заказов, — LEFT. В одном проекте проверка через LEFT JOIN показала, что у 12% клиентов нет ни одной покупки — с INNER эти строки просто исчезли бы, и отчёт по охвату базы был бы завышен.