[Programmers] 5월 식품들의 총매출 조회하기
정답
SELECT
FP.PRODUCT_ID,
FP.PRODUCT_NAME,
FP.PRICE * FO.TOTAL_AMOUNT AS TOTAL_SALES
FROM FOOD_PRODUCT FP
JOIN (
SELECT PRODUCT_ID, SUM(AMOUNT) AS TOTAL_AMOUNT
FROM FOOD_ORDER
WHERE PRODUCE_DATE BETWEEN '2022-05-01' AND '2022-05-31'
GROUP BY PRODUCT_ID
) FO ON FP.PRODUCT_ID = FO.PRODUCT_ID
ORDER BY TOTAL_SALES DESC, FP.PRODUCT_ID;
✅ Point
- 조건이 있는 Table을 먼저 필터링, 집계해서 JOIN 대상의 크기를 줄였음