SQL INNER JOIN: соединить заказы с именами клиентов

Соединение по ключу клиента добавляет к каждой строке заказа сведения из справочника customers. Зерно результата остаётся прежним: одна строка на заказ, а не одна на клиента.

Используйте явное условие соединения и квалифицируйте одноимённые поля именем таблицы или алиасом. Если после JOIN появились неожиданные повторы, проверьте уникальность ключа справочника, прежде чем добавлять DISTINCT.

Проверьте решение без регистрации. Объяснения и последовательная практика — в курсе «SQL с нуля: бесплатный курс с практикой».

Заказы с именами клиентов

В базе хранятся сведения о клиентах и их заказах. Иногда нужно просто посмотреть на каждый оформленный заказ и сразу видеть, кому он принадлежит — без подсчётов и группировок, одна строка на один заказ.

Напиши запрос к таблицам customers(customer_id, name) и orders(order_id, customer_id, order_date, total_amount), который возвращает три столбца: имя клиента (name), идентификатор заказа (order_id) и его сумму (total_amount). В результат попадают только те клиенты, у которых есть хотя бы один заказ; клиенты без заказов не включаются. Строки упорядочены по order_id по возрастанию.

Верните ровно три столбца в указанном порядке. Запрос должен состоять из одного SELECT и не должен изменять данные.

Пример

Подготовка данных
INSERT INTO customers VALUES (1, 'Алиса'), (2, 'Борис'), (3, 'Вера');
INSERT INTO orders VALUES (102, 1, '2024-03-05', 2000), (101, 1, '2024-01-10', 5000), (103, 2, '2024-02-20', 8000);
Вывод
Алиса|101|5000
Алиса|102|2000
Борис|103|8000
РешениеSQL · SQLite

Без регистрации. Гостевая проверка не сохраняет прогресс. Для сохранения перейдите к уроку.

Отправьте решение, чтобы увидеть результаты тестов.

Связанные задачи