SQL

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

pearhyunjin 2024. 3. 21. 11:04

 

 

프로그래머스 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;