[프로그래머스] SQL/정답 노트

[lv3] 카테고리 별 도서 판매량 집계하기

SH3542 2024. 10. 8. 15:00

https://school.programmers.co.kr/learn/courses/30/lessons/144855

 

MONTH()의 반환형은 INT라고 한다.

= '1', LIKE '1'과 같이 자동형변환을 거칠 필요는 없었다.

 

와일드카드를 사용하지 않는 경우의 LIKE와 =의 비교에서, = 이 권장되었다.

이유는 성능(동작은 비슷해지나, 오버헤드가 있다고 함), 가독성 이었다.

LIKE는 근간이 패턴매칭을 위한 연산자였고, NUMBER 외의 문자열간의 비교에서도 =을 권장했다.

SELECT CATEGORY, SUM(SALES) TOTAL_SALES
FROM BOOK JOIN BOOK_SALES
USING(BOOK_ID)
WHERE MONTH(SALES_DATE) = 1
GROUP BY CATEGORY
ORDER BY CATEGORY