fix mistakes in joins
This commit is contained in:
+9
-7
@@ -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';
|
||||
|
||||
/**❓ Ответь на вопросы:**
|
||||
|
||||
Reference in New Issue
Block a user