본문 바로가기
SQL

[SQL] 프로그래머스 고득점 kit - JOIN / 상품 별 오프라인 매출 구하기

by pearhyunjin 2024. 3. 21.

 

 

프로그래머스 SQL 고득전 kit를 풀어보고 정리한 내용입니다.

맞춘 정답과 틀린 경우 생각해내지 못한 문법 위주로 작성하였습니다.

정리 내용 출처는 아래를 참고해 주세요.

 


 

Lv.2 상품 별 오프라인 매출 구하기

 

 

 

작성 답안

 

각각 PRODUCT 테이블에서 PRODUCT_CODE와 PRICE를, OFFLINE_SALE 테이블에서 SALES_AMOUNT 컬럼 내용을 가져와  이용해야 하기 때문에 JOIND을 사용해 두 테이블의 데이터를 사용한다. 이때, PRODUCT 테이블과 OFFLINE_SALE에서 PRODUCT_ID가 일차하는 데이터들을 JOIN하여 결과 출력해야하기 때문에 INNER JOIN을 사용한다. 상품코드를 기준으로 매출액을 계산하여 출력함을 원하고 있기 때문에 GROUP BY를 이용하였고, ORDER BY 구문에 콤마(,)를 이용하여 두 가지의 정렬 조건을 넣어주었다.

SELECT P.PRODUCT_CODE, SUM(P.PRICE * O.SALES_AMOUNT) AS SALES
FROM PRODUCT AS P
INNER JOIN OFFLINE_SALE AS O ON P.PRODUCT_ID = O.PRODUCT_ID
GROUP BY P.PRODUCT_CODE
ORDER BY SALES DESC, P.PRODUCT_CODE ASC;