Ответ
LEFT JOIN — это оператор SQL для объединения таблиц, который возвращает все записи из левой таблицы (указанной в FROM) и соответствующие записи из правой таблицы. Если совпадений по условию соединения нет, поля из правой таблицы заполняются значениями NULL.
Пример:
SELECT users.name, orders.amount
FROM users
LEFT JOIN orders ON users.id = orders.user_id;
Этот запрос вернёт всех пользователей из таблицы users. Для пользователей, у которых есть заказы, будут указаны суммы (amount). Для пользователей без заказов в столбце amount будет NULL.
Ключевые особенности и отличия:
- Гарантирует возврат всех строк из левой таблицы.
- Используется, когда необходимо сохранить "основные" данные, даже если связанные данные отсутствуют (например, список всех клиентов, включая тех, кто ещё не сделал заказ).
- В отличие от INNER JOIN, который возвращает только строки с совпадениями в обеих таблицах, LEFT JOIN включает все строки левой таблицы.
- Порядок таблиц в запросе важен: таблица слева от
LEFT JOINявляется основной.