LEFT JOIN
LEFT JOIN сохраняет всю левую таблицу
LEFT JOIN возвращает все строки источника слева. Если справа находится подходящая строка, её данные добавляются. Если совпадения нет, столбцы правой стороны заполняются NULL.
SELECT u.id, u.name, o.id AS order_id
FROM users AS u
LEFT JOIN orders AS o ON o.user_id = u.id;
В результате останутся все пользователи — в том числе те, у кого ещё нет заказов. Для таких пользователей order_id будет NULL.
LEFT JOIN часто используют для поиска отсутствующих связей
SELECT u.id, u.name
FROM users AS u
LEFT JOIN orders AS o ON o.user_id = u.id
WHERE o.id IS NULL;
Здесь соединение сначала сохраняет всех пользователей, а затем WHERE оставляет только тех, для кого заказ справа не нашёлся.
Для LEFT JOIN порядок таблиц имеет смысл.
Слово LEFT буквально означает: «сохрани все строки того источника, который написан слева от JOIN».
Проверь себя
Разбор задания
Ментор знает решение и поможет тебе прийти к нему самостоятельно
Войди, чтобы использовать Ментора
Ментор учитывает текущую задачу и историю диалога.
Войти
Проверь важные нюансы и ответ после собственной попытки.
Войди, чтобы посмотреть решение
Решение и разбор доступны после авторизации.
Войти