프로그래머스/My SQL

조건에 맞는 도서 리스트 출력하기

싱싱한복초이 2024. 11. 3. 10:30

https://school.programmers.co.kr/learn/courses/30/lessons/144853

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

[문제]

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

 

주의사항

PUBLISHED_DATE의 데이트 포맷이 예시와 동일해야 정답처리 됩니다.

[나의 풀이]

select book_id, date_format(published_date, '%Y-%m-%d') published_date
from book        
where published_date like '2021%' and category in ('인문')
order by published_date asc;


[다른 풀이]

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;
SELECT BOOK_ID, DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d') AS PUBLISHED_DATE
FROM BOOK
WHERE CATEGORY LIKE '인문' AND PUBLISHED_DATE LIKE '2021%'
ORDER BY PUBLISHED_DATE ASC;

 

1. published_date like '2021%' 또는 year(published_date) = 2021

2. category = '인문' 또는 category like '인문' 또는 category in ('인문')