CODING TEST/SQL - 문제

[프로그래머스] 조건에 맞는 도서 리스트 출력하기 - MySQL

쏘니(SSony) 2023. 1. 12. 20:10

코딩테스트 연습 - 조건에 맞는 도서 리스트 출력하기 | 프로그래머스 스쿨 (programmers.co.kr)

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제 요약

BOOK 테이블에서 2021년에 출판된 '인문' 카테고리에 속하는 도서 리스트를 찾아서 도서 ID(BOOK_ID), 출판일 (PUBLISHED_DATE)을 출력하는 SQL문을 작성해주세요.
결과는 출판일을 기준으로 오름차순 정렬해주세요.

 

 

문제 풀이

주의사항은 "PUBLISHED_DATE의 데이트 포맷이 예시와 동일"하게 작성해야 한다는 점이다.

즉, 2020-01-01의 형태로 출력이 되어야 한다.

# 잘못된 풀이
SELECT BOOK_ID, PUBLISHED_DATE
FROM BOOK
WHERE YEAR(PUBLISHED_DATE) = 2021 AND CATEGORY = "인문"
ORDER BY PUBLISHED_DATE

이렇게 코드를 짜면 PUBLISHED_DATE에 시간까지 나와 틀린 답이 된다.

 

 

 

# 정답 풀이
SELECT BOOK_ID, DATE_FORMAT(PUBLISHED_DATE, "%Y-%m-%d") AS PUBLISHED_DATE
FROM BOOK
WHERE YEAR(PUBLISHED_DATE) = 2021 AND CATEGORY = "인문"
ORDER BY PUBLISHED_DATE

DATE_FORMAT을 이용하면 된다.

 

참, ORDER BY는 오름차순이 디폴트다.