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