[SQL 문제 풀기] 5월 식품들의 총매출 조회하기(131117)

lhs's avatar
Dec 27, 2024
[SQL 문제 풀기] 5월 식품들의 총매출 조회하기(131117)
 

1. 문제 풀이 아이디어

  • 두 테이블을 JOIN 절로 결합한 후, WHERE 절과 GROUP BY 절을 사용하여 문제에서 요구하는 조건에 맞는 총 매출을 계산하여 문제를 해결한다.

2. 나의 정답 코드

SELECT product_id, product_name, SUM(amount)*price total_sales FROM food_order NATURAL JOIN food_product WHERE produce_date BETWEEN '2022-05-01' AND '2022-05-31' GROUP BY product_id ORDER BY total_sales DESC, product_id;

3. 정리

  • NATURAL JOIN을 사용하여 food_product 테이블과 food_order 테이블을 결합한다.
  • WHERE 절에서 BETWEEN 키워드를 사용해 produce_date가 2022년 5월인 행만 필터링한다.
  • GROUP BY 절을 사용하여 product_id별로 그룹화하고, SUM 집계 함수로 amount의 합을 구한 후, price를 곱하여 total_sales라는 별칭을 붙인다.
  • ORDER BY 절에서는 total_sales를 기준으로 내림차순으로 정렬하고, 동일한 총 매출이 있을 경우 product_id를 기준으로 오름차순으로 정렬한다.
Share article

LHS's Study Space