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