다음과 같은 상품(products) 테이블과 주문(orders) 테이블이 있습니다.
id |
name |
price |
1 |
랩톱 |
1200 |
2 |
핸드폰 |
800 |
3 |
타블렛 |
400 |
id |
product_id |
quantity |
order_date |
101 |
1 |
2 |
2023-03-01 |
102 |
2 |
1 |
2023-03-02 |
103 |
3 |
5 |
2023-03-04 |
- 모든 주문의 주문 ID와 주문된 상품의 이름을 나열하는 쿼리를 작성해주세요!
- SELECT o.id, p.name
FROM products p
JOIN orders o ON p.id = o.product_id;
- 총 매출(price * quantity의 합)이 가장 높은 상품의 ID와 해당 상품의 총 매출을 가져오는 쿼리를 작성해주세요!
- SELECT o.id, p.price * o.quantity AS "총매출"
FROM products p
JOIN orders o ON p.id = o.product_id
ORDER BY p.price * o.quantity DESC LIMIT 1;
- 각 상품 ID별로 판매된 총 수량(quantity)을 계산하는 쿼리를 작성해주세요!
- SELECT p.id, sum(o.quantity) AS "총 수량"
FROM products p
JOIN orders o ON p.id = o.product_id
group BY p.id;
- 2023년 3월 3일 이후에 주문된 모든 상품의 이름을 나열하는 쿼리를 작성해주세요!
- SELECT p.name
FROM products p
JOIN orders o ON p.id = o.product_id
WHERE o.order_date >= '2023-03-03';
- 가장 많이 판매된 상품의 이름을 찾는 쿼리를 작성해주세요!
- SELECT p.name
FROM products p
JOIN orders o ON p.id = o.product_id
ORDER BY o.quantity DESC LIMIT 1;
- 각 상품 ID별로 평균 주문 수량을 계산하는 쿼리를 작성해주세요!
- SELECT p.name, avg(o.quantity) AS "평균 주문 수량"
FROM products p
JOIN orders o ON p.id = o.product_id
GROUP BY p.id;
- 판매되지 않은 상품의 ID와 이름을 찾는 쿼리를 작성해주세요!
- SELECT p.id, p.name
FROM products p
left JOIN orders o ON p.id = o.product_id
WHERE isnull(o.id);