
다음은 어느 한 서점에서 판매중인 도서들의 도서 정보(BOOK) 테이블입니다.
BOOK 테이블은 각 도서의 정보를 담은 테이블로 아래와 같은 구조로 되어있습니다.
| Column name | Type | Nullable | Description |
|---|---|---|---|
| BOOK_ID | INTEGER | FALSE | 도서 ID |
| CATEGORY | VARCHAR(N) | FALSE | 카테고리 |
| AUTHOR_ID | INTEGER | FALSE | 저자 ID |
| PRICE | INTEGER | FALSE | 판매가 (원) |
| PUBLISHED_DATE | DATE | FALSE | 출판일 |
BOOK 테이블에서 2021년에 출판된 '인문' 카테고리에 속하는 도서 리스트를 찾아서 도서 ID(BOOK_ID), 출판일 (PUBLISHED_DATE)을 출력하는 SQL문을 작성해주세요.
결과는 출판일을 기준으로 오름차순 정렬해주세요.
먼저 WHERE 절에 YEAR() 함수를 이용해 출판일이 2021년이고, 카테고리가 '인문'인 컬럼을 저회 해준다.
이후, ORDER BY 절에서 출판일의 오름차순으로 정렬하여 조회해주면 되는데, 이때 주의해야 할것이 하나 있다.
DATE_FORMAT() 함수를 사용하여 날짜 형식을 문제에서 요구하는 형식으로 맞춰 출력해주어야 한다.
SELECT BOOK_ID
,DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d') AS PUBLISHED_DATE
FROM BOOK
WHERE CATEGORY = '인문'
AND YEAR(PUBLISHED_DATE) = 2021
ORDER
BY PUBLISHED_DATE ASC;
간단한 조건에 맞춰 데이터를 조회하는 문제였다.
https://school.programmers.co.kr/learn/courses/30/lessons/144853