https://school.programmers.co.kr/learn/courses/30/lessons/144855
인덱스가 걸려있는 경우 날짜 비교에서 BETWEEN이 LIKE보다 권장된다고 한다. LIKE는 모든 범위를 스캔하기 때문이다.
SELECT AUTHOR_ID, AUTHOR_NAME, CATEGORY, SUM(PRICE * SALES) AS TOTAL_SALES
FROM (
SELECT BOOK_ID, CATEGORY, AUTHOR_ID, AUTHOR_NAME, PRICE
FROM BOOK
JOIN AUTHOR USING(AUTHOR_ID)
) B
JOIN (
SELECT BOOK_ID, SALES
FROM BOOK_SALES
WHERE SALES_DATE LIKE '2022-01%'
) S USING(BOOK_ID)
GROUP BY 1, 3
ORDER BY 1, 3 DESC;
'[프로그래머스] SQL > 정답 노트' 카테고리의 다른 글
[lv2] 업그레이드 된 아이템 구하기 (0) | 2024.10.18 |
---|---|
[lv2] 재구매가 일어난 상품과 회원 리스트 구하기 (1) | 2024.10.09 |
[lv3] 카테고리 별 도서 판매량 집계하기 (2) | 2024.10.08 |
[lv3] 조건에 맞는 사용자와 총 거래금액 조회하기 (0) | 2024.10.08 |
[lv4] 서울에 위치한 식당 목록 출력하기 (0) | 2024.10.04 |