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는 오름차순이 디폴트다.