Обычный JOIN без уточнения типа означает INNER JOIN: результат содержит совпадающие пары строк по условию ON или USING. Строки без совпадения не сохраняются как в OUTER JOIN.
[имя] спросил: если мы пишем просто JOIN без указания типа, какой JOIN используется по умолчанию?
Обычный JOIN без уточнения типа означает INNER JOIN: результат содержит совпадающие пары строк по условию ON или USING. Строки без совпадения не сохраняются как в OUTER JOIN.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Обычный JOIN без уточнения типа означает INNER JOIN: результат содержит совпадающие пары строк по условию ON или USING. Строки без совпадения не сохраняются как в OUTER JOIN.
Например, users JOIN orders ON orders.user_id = users.id возвращает пользователей с подходящими заказами, причём один пользователь может появиться несколько раз. Для сохранения пользователей без заказов нужен LEFT JOIN. Если условие не уникально, множество совпадений увеличивает число строк: JOIN не выполняет автоматическое удаление дублей.