< 링크 >
여기를 클릭하세요 (프로그래머스 고득점 Kit 106문제 모음)
여기를 클릭하세요 (6. 조건에 맞는 도서 리스트 출력하기 )
< 문제 >
BOOK 테이블에서 2021년에 출판된 '인문' 카테고리에 속하는 도서 리스트를 찾아서 도서 ID(BOOK_ID), 출판일 (PUBLISHED_DATE)을 출력하는 SQL문을 작성해주세요.
결과는 출판일을 기준으로 오름차순 정렬해주세요.
< 내가 작성한 코드 >
SELECT book_id, date_format(published_date, '%Y-%m-%d') as PUBLISHED_DATE
from book
where (category = '인문') and year(published_date) = 2021;
< 나의 풀이 >
1. select * from book; 으로 주어진 데이터를 확인했다.
2. 무엇을 조회해야 하는지 확인한 다음 select문을 수정했다.
일단 book_id, published_date 를 조회하도록 수정했는데
문제를 자세히 보면 published_date를 그대로 사용하면 틀릴 것이고
date_format()으로 형식을 바꿔야겠다고 생각했다.
3. 문제에서는 published_date를 2025-08-23 처럼 바꾸라고 했으니
SELECT book_id, date_format(published_date, '%Y-%m-%d') as PUBLISHED_DATE 로 바꿨다.
4. 문제에서 주어진 조건에 따라 where 구문을 and와 병행해서 추가했다.
where (category = '인문') and year(published_date) = 2021;
결국
SELECT book_id, date_format(published_date, '%Y-%m-%d') as PUBLISHED_DATE
from book
where (category = '인문') and year(published_date) = 2021;
이렇게 작성하면 된다.
이 문제에서의 핵심은 date_format(), year()를 알고 있느냐 인 것 같다.

'IT > 프로그래머스 SQL 문제 풀어보기' 카테고리의 다른 글
| [SQL - SELECT] 8. 3월에 태어난 여성 회원 목록 출력하기 (1) | 2026.01.09 |
|---|---|
| [SQL - SELECT] 7. 평균 일일 대여 요금 구하기 (0) | 2026.01.09 |
| [SQL - SELECT] 5. 인기 있는 아이스크림 (0) | 2026.01.09 |
| [SQL - SELECT] 4. 12세 이하인 여자 환자 목록 출력하기 (0) | 2026.01.09 |
| [SQL - SELECT] 3. 흉부외과 또는 일반외과 의사 목록 출력하기 (0) | 2026.01.09 |