CODING TEST/MySQL

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

iamyuunzo 2025. 7. 16. 20:00

📌 문제 정보

- 문제 이름 : 프로그래머스 - (SELECT) 조건에 맞는 도서 리스트 출력하기

- 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/144853

 

 

 

📌 문제 요약

- BOOK 테이블 : BOOK_ID(도서ID), CATEGORY(카테고리), AUTHOR_ID(작가ID), PRICE(가격), PUBLISHED_DATE(출판일)

 

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

 

예시) 

BOOK_ID CATEGORY  AUTHOR_ID  PRICE  PUBLISHED_DATE
1 인문 1 10000 2020-01-01
2 경제 2 9000 2021-02-05
3 인문 2 11000 2021-04-11
4 인문 3 10000 2021-03-15
5 생활 1 12000 2021-01-10

 

출력)

BOOK_ID  PUBLISHED_DATE
4 2021-03-15
3 2021-04-11

 

 

 

📌 내 풀이 및 코드

SELECT BOOK_ID, DATE_FORMAT(PUBLISHED_DATE,"%Y-%m-%d")PUBLISHED_DATE 
FROM BOOK
WHERE CATEGORY = '인문'
AND YEAR(PUBLISHED_DATE) = 2021
ORDER BY PUBLISHED_DATE ASC;

 

 

📌 새로 배운 문법

<-- 이번 문제에서 새로 배운 Java 문법 정리 -->

** DATE_FORMAT() 계속 헷갈려서 다시 정리 **

- DATE_FORMAT(날짜컬럼, '형식문자열')

 

  • 날짜컬럼: DATE, DATETIME, TIMESTAMP 타입의 컬럼 또는 날짜 값
  • 형식문자열: 어떤 형식으로 날짜를 출력할지 지정하는 패턴
포맷코드  의미  예시 출력
%Y 4자리 연도 2021
%y 2자리 연도 21
%m 2자리 월 (01~12) 03
%d 2자리 일 (01~31) 09
%H 시 (00~23) 14
%i 분 (00~59) 30
%s 초 (00~59) 45