SQL 공부
사전캠프 걷기반 퀘스트 11 (마지막 연습 문제)
나노다
2024. 10. 14. 00:24
모든 주문의 주문 ID와 주문된 상품의 이름을 나열하는 쿼리를 작성해주세요!
SELECT o.id "주문ID"
, p.name "상품명"
FROM products p inner join orders o on p.id = o.product_id
총 매출(price * quantity의 합)이 가장 높은 상품의 ID와 해당 상품의 총 매출을 가져오는 쿼리를 작성해주세요!
SELECT 상품ID
, 총매출
FROM
(
SELECT o.product_id "상품ID"
, o.quantity * p.price "총매출"
, MAX(o.quantity * p.price) " 최고매출"
FROM products p inner join orders o on p.id = o.product_id
GROUP BY 1
) SubQ1
WHERE 총매출 = 최고매출
각 상품 ID별로 판매된 총 수량(quantity)을 계산하는 쿼리를 작성해주세요!
SELECT product_id "상품ID"
, SUM(quantity) "총수량"
FROM orders
GROUP BY 1
2023년 3월 3일 이후에 주문된 모든 상품의 이름을 나열하는 쿼리를 작성해주세요!
SELECT 상품명
FROM
(
SELECT p.name "상품명"
, IF(date_format(date(o.order_date), '%Y$m$d') >= 20230303, 1, 0) "조건"
FROM products p inner join orders o on p.id = o.product_id
) SubQ1
WHERE 조건 = 1
가장 많이 판매된 상품의 이름을 찾는 쿼리를 작성해주세요!
SELECT 상품명
FROM
(
SELECT p.name "상품명"
, SUM(o.quantity) "판매량"
FROM products p inner join orders o on p.id = o.product_id
GROUP BY 1
) SubQ1
WHERE 판매량 = MAX(판매량)
각 상품 ID별로 평균 주문 수량을 계산하는 쿼리를 작성해주세요!
SELECT product_id "상품ID"
, AVG(quantity) "평균주문량"
FROM orders
GROUP BY 1
판매되지 않은 상품의 ID와 이름을 찾는 쿼리를 작성해주세요!
SELECT 상품ID
, 상품명
FROM
(
SELECT o.product_id "상품ID"
, p.name "상품명"
, SUM(o.quantity) "판매량"
, if(SUM(o.quantity) = 0, 1, 0) "조건"
FROM products p inner join orders o on p.id = o.product_id
GROUP BY 1
) SubQ1
WHERE 조건 = 1