최대 1 분 소요

프로그래머스 사이트 링크

문제

image


코드

ver(1) - INNER JOIN 사용
SELECT B.CATEGORY,
       SUM(BS.SALES) AS TOTAL_SALES
  FROM BOOK_SALES AS BS
 INNER
  JOIN BOOK AS B
    ON B.BOOK_ID = BS.BOOK_ID
 WHERE BS.SALES_DATE  
  LIKE '2022-01%'
GROUP
    BY B.CATEGORY
ORDER
   BY B.CATEGORY
ver(2) - RIGHT JOIN 사용
SELECT B.CATEGORY, SUM(S.SALES) AS TOTAL_SALES
FROM BOOK AS B
RIGHT
JOIN BOOK_SALES AS S
ON B.BOOK_ID = S.BOOK_ID
WHERE LEFT(S.SALES_DATE, 7) = '2022-01' AND S.BOOK_ID IS NOT NULL
GROUP BY B.CATEGORY
ORDER BY B.CATEGORY

풀이

GROUP BY 절

데이터들을 원하는 그룹으로 나눌 수 있다.

  1. 컬럼 그룹화
SELECT 컬럼 FROM 테이블 WHERE 조건식 GROUP BY 그룹화할 컬럼;
  1. 컬럼 그룹화 후에 조건 처리
SELECT 컬럼 FROM 테이블 GROUP BY 그룹화할 컬럼 HAVING 조건식;

댓글남기기