Browse Source

oplossing How-to-code-subqueries.sql

master
lennart 2 years ago
parent
commit
5a635030ef
1 changed files with 48 additions and 5 deletions
  1. 48
    5
      How-to-code-subqueries.sql

+ 48
- 5
How-to-code-subqueries.sql View File

@@ -1,19 +1,62 @@
-- Exercise 1

SELECT DISTINCT category_name
FROM categories
WHERE category_id
IN (select product_id FROM products)
ORDER BY category_name
LIMIT 3;

-- Exercise 2

SELECT product_name, list_price
FROM products
GROUP BY product_name
HAVING AVG(list_price) > (SELECT AVG(list_price) FROM products)
ORDER BY list_price DESC;

-- Exercise 3
SELECT category_name
FROM categories c
WHERE NOT exists
(SELECT category_name, category_id
FROM products p
WHERE c.category_id= p.category_id);


-- Exercise 4

SELECT email_address, os.order_id, SUM(item_price - discount_amount) * quantity AS 'order_total'
FROM customers c
JOIN orders os
USING (customer_id)
JOIN order_items oi
USING (order_id)
GROUP BY email_address, os.order_id;

-- Exercise 4 Part 2

SELECT
email_address,
MAX(order_total)
FROM (SELECT email_address, i.order_id, SUM((i.item_price - i.discount_amount) * quantity) AS 'order_total'
FROM customers c JOIN orders o
ON c.customer_id = o.customer_id
JOIN order_items i
ON o.order_id = i.order_id
GROUP BY email_address, order_id) f
GROUP BY email_address;

-- Exercise 5

SELECT p1.product_name, p1.discount_percent
FROM products p1
WHERE p1.discount_percent NOT IN
(SELECT p2.discount_Percent
FROM Products p2
WHERE p1.product_name <> p2.product_name)
ORDER BY product_name;

-- Exercise 6
SELECT email_address, order_id, order_date
FROM customers c
JOIN orders o
ON c.customer_id = o.customer_id
WHERE order_date = (SELECT MIN(order_date)
FROM orders
WHERE customer_id = o.customer_id);

Loading…
Cancel
Save