[SQL 고득점 Kit / SELECT ] Level 1 - 조건에 맞는 도서 리스트 출력하기

SlowAnd·2024년 2월 11일

[Level 1] - 조건에 맞는 도서 리스트 출력하기

문제

정답

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

풀이

1. SELECT 절

SELECT BOOK_ID, DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d') AS PUBLISHED_DATE
  • SELECT 절은 데이터베이스에서 조회하고자 하는 컬럼들을 지정합니다. 이 경우, 도서 ID(BOOK_ID)와 출판일(PUBLISHED_DATE)을 조회하고자 합니다.

  • DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d') AS PUBLISHED_DATE는 출판일을 YYYY-MM-DD 형식으로 변환하고, 이 변환된 값을 PUBLISHED_DATE로 명시합니다. DATE_FORMAT 함수는 날짜를 지정된 형식의 문자열로 포매팅하는 데 사용됩니다. 여기서는 출판일을 년-월-일 형식으로 표시하도록 지정하고 있습니다.


2. FROM 절

FROM BOOK

  • FROM 절은 조회할 데이터가 있는 테이블을 지정합니다. 여기서는 BOOK 테이블에서 데이터를 조회합니다.

3. WHERE 절

WHERE CATEGORY = '인문' AND EXTRACT(YEAR FROM PUBLISHED_DATE) = 2021
  • WHERE 절은 특정 조건을 만족하는 데이터만을 조회하기 위해 사용됩니다. 여기서는 두 가지 조건을 사용합니다:
    • CATEGORY = '인문': 카테고리가 '인문'인 도서만 필터링합니다.
    • EXTRACT(YEAR FROM PUBLISHED_DATE) = 2021: EXTRACT 함수를 사용해 출판일에서 연도 부분만을 추출하고, 이 값이 2021년인 도서만 필터링합니다. 이는 2021년에 출판된 도서만 조회하고자 할 때 사용하는 조건입니다.

4. ORDER BY 절

ORDER BY PUBLISHED_DATE ASC;
  • ORDER BY 절은 조회된 데이터를 특정 컬럼의 값에 따라 정렬합니다. 여기서는 출판일(PUBLISHED_DATE)을 기준으로 오름차순(ASC)으로 정렬합니다. 오름차순 정렬은 날짜가 빠른 순서대로, 즉, 가장 오래된 출판일부터 최신 출판일 순으로 결과를 나열하게 됩니다.

0개의 댓글