본문 바로가기

문제풀이/SQL

[프로그래머스] 카테고리 별 도서 판매량 집계하기 (oracle)

 

다시 정답률이 높은 문제부터 한 문제씩 풀어보려고 문제풀이 챌린지를 시작했다.

당연히 매일은 어렵겠지만(?)

그래도 매일 매일 해보려고 노력해야지!

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


2022년 1월의 카테고리 별 도서 판매량을 합산하고, 카테고리(CATEGORY), 총 판매량(TOTAL_SALES) 리스트를 출력하는 SQL문을 작성해주세요. 결
과는 카테고리명을 기준으로 오름차순 정렬해주세요.

 

문제 풀이

1. JOIN(,) : 오라클 조인(ORACLE JOIN), 오라클 10g부터 오라클 조인뿐만 아니라 안시 조인도 허용이 되었다. 기본적인 INNER JOIN을 사용.

2. GROUP BY : category 컬럼 그룹별로 묶을 수 있도록 사용.

 

예를 들어 회사 내 파트 직원별로 묶고 싶을때 사용한다.

GROUP BY DEPT를 하게 되면 결과값은 3개만 나오게 된다. 회계, IT, 경영지원

dept age
회계 28
IT 20
경영지원 25
회계 42
IT 39

 

결과물

dept
회계
IT
경영지원
-- 코드를 입력하세요
SELECT CATEGORY, SUM(A.SALES) AS TOTAL_SALES FROM BOOK B, (SELECT * FROM BOOK_SALES
WHERE SALES_DATE BETWEEN TO_DATE('2022-01-01', 'YYYY-MM-DD') AND TO_DATE('2022-01-31', 'YYYY-MM-DD')) A
WHERE B.BOOK_ID = A.BOOK_ID
GROUP BY CATEGORY
ORDER BY CATEGORY