From 72c9b065b9a6a359e043b8db33d462bd6d4f0758 Mon Sep 17 00:00:00 2001 From: Dmitry Medvedev Date: Mon, 8 Jun 2026 23:51:43 +0500 Subject: [PATCH] fix mistakes in joins --- dmedvedev/joins.sql | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/dmedvedev/joins.sql b/dmedvedev/joins.sql index 9204bfa..561fbb1 100644 --- a/dmedvedev/joins.sql +++ b/dmedvedev/joins.sql @@ -95,11 +95,11 @@ LEFT JOIN orders o ON o.user_id = u.id; --✅ Задача: найти пользователей, у которых нет ни одного заказа. SELECT - o.user_id AS user_id, + u.id AS user_id, u.name AS user_name FROM users u LEFT JOIN orders o ON o.user_id = u.id -WHERE user_id IS NULL; +WHERE o.user_id IS NULL; /* **❓ Ответь на вопросы:** Почему тут важно фильтровать именно по колонке из **`orders`**, а не из **`users`**? @@ -139,8 +139,8 @@ SELECT oi.order_id AS order_id, oi.quantity AS quantity FROM products p -FULL JOIN order_items oi ON p.id = oi.product_id -ORDER BY p.name +LEFT JOIN order_items oi ON p.id = oi.product_id +ORDER BY p.name; /*❓ Ответь на вопросы: что будет в order_id, если товар ни разу не покупали? @@ -151,6 +151,8 @@ ORDER BY p.name те заказы, которые не покупали */ --task 8 +--Задание 8: Только оплаченные заказы + их состав + SELECT oi.order_id AS order_id, u.name AS user_name, @@ -158,9 +160,9 @@ SELECT oi.quantity AS quantity, oi.price_at_purchase AS price_at_purchase FROM order_items oi -FULL JOIN orders o ON o.id = oi.order_id -FULL JOIN products p ON p.id = oi.product_id -FULL JOIN users u ON u.id = o.user_id +JOIN orders o ON o.id = oi.order_id +JOIN products p ON p.id = oi.product_id +JOIN users u ON u.id = o.user_id WHERE o.status = 'paid'; /**❓ Ответь на вопросы:**