Основы JOIN
JOIN сопоставляет строки двух источников
Пусть таблица orders хранит user_id, а информация о пользователе находится в таблице users. Чтобы получить заказ вместе с именем пользователя, нужно связать строки по идентификатору.
SELECT orders.id, users.name
FROM orders
JOIN users ON users.id = orders.user_id;
Условие после ON говорит базе, какие строки двух таблиц относятся друг к другу. В результате каждая подходящая строка заказа получает данные из соответствующей строки пользователя.
Псевдонимы делают запрос короче
SELECT o.id, u.name
FROM orders AS o
JOIN users AS u ON u.id = o.user_id;
Псевдонимы o и u особенно полезны, когда в запросе несколько таблиц или у них есть одинаковые имена столбцов.
JOIN без понятного условия связи легко создаёт неверный результат.
Перед написанием запроса сначала сформулируй связь словами: например, «заказ принадлежит пользователю, если
orders.user_id = users.id».
Проверь себя
Разбор задания
Ментор знает решение и поможет тебе прийти к нему самостоятельно
Войди, чтобы использовать Ментора
Ментор учитывает текущую задачу и историю диалога.
Войти
Проверь важные нюансы и ответ после собственной попытки.
Войди, чтобы посмотреть решение
Решение и разбор доступны после авторизации.
Войти