최대 1 분 소요

프로그래머스 사이트 링크

문제

image

image

image


코드

ver(1) - JOIN 사용

-- FOOD_PRODUCT, FOOD_ORDER 테이블에서 PRODUCT_ID를 기준으로 조인한다.
-- FOOD_PRODUCT의 제품 이름, FOOD_ORDER의 수량, 가격을 이용해 매출을 구한다.
-- PRODUCE_DATE가 2022년 5월인 레코드만 선택한다.
-- 제품 이름을 기준으로 그룹화하여 매출 합계를 계산한다.
-- 매출 합계와 제품 ID 순으로 정렬한다.
SELECT 
    A.PRODUCT_ID, 
    A.PRODUCT_NAME, 
    SUM(A.PRICE * B.AMOUNT) AS TOTAL_SALES -- A 테이블의 가격과 B 테이블의 수량을 곱한 뒤, 총 매출을 계산한다.
FROM 
    FOOD_PRODUCT AS A
LEFT
JOIN
    FOOD_ORDER AS B -- PRODUCT_ID를 기준으로 두 테이블을 조인한다.
ON 
    A.PRODUCT_ID = B.PRODUCT_ID
WHERE 
    B.PRODUCE_DATE LIKE "2022-05%" AND B.PRODUCT_ID IS NOT NULL -- PRODUCE_DATE가 2022년 5월인 레코드만 선택한다.
GROUP BY 
    A.PRODUCT_NAME -- 제품 이름을 기준으로 그룹화한다.
ORDER BY 
    TOTAL_SALES DESC, A.PRODUCT_ID -- 매출 합계와 제품 ID 순으로 정렬한다.

댓글남기기