본문 바로가기
Computer/Algorithm_SQL

[Programmers] 조건에 맞는 도서 리스트 출력하기 (Success)

by HJ0216 2023. 9. 13.
 

프로그래머스

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

programmers.co.kr

 

📝 Language: Oracle

 

1
2
3
4
5
6
  SELECT BOOK_ID, TO_CHAR(PUBLISHED_DATE, 'yyyy-mm-dd') PUBLISHED_DATE 
    FROM BOOK 
   WHERE EXTRACT(YEAR FROM CAST (PUBLISHED_DATE AS DATE))=2021 
     AND CATEGORY='인문' 
ORDER BY PUBLISHED_DATE;
 
 

🙂 확인 사항

1. BOOK 테이블

2. 2021년에 출판

3. 인문 카테고리

4. 도서 ID, 출판일 조회

5. 출판일 기준 오름차순 정렬

 

😮  외의 풀이

1
2
3
4
5
6
  SELECT BOOK_ID, TO_CHAR(PUBLISHED_DATE, 'yyyy-mm-dd') PUBLISHED_DATE 
    FROM BOOK 
   WHERE EXTRACT(YEAR FROM PUBLISHED_DATE)=2021 
     AND CATEGORY='인문' 
ORDER BY PUBLISHED_DATE;
 
 

CAST 구문 삭제

 

1
2
3
4
5
6
  SELECT BOOK_ID, TO_CHAR(PUBLISHED_DATE, 'yyyy-mm-dd') PUBLISHED_DATE 
    FROM BOOK 
   WHERE TO_CHAR(PUBLISHED_DATE, 'yyyy')=2021 
     AND CATEGORY='인문' 
ORDER BY PUBLISHED_DATE;
 
 

TO_CHAR 사용

 

⭐TO_CHAR을 사용할 경우, DATE → 문자열로 변환하므로 추가적인 연산이 필요

그러므로, 성능성 EXTRACT를 사용하여 YEAR를 추출하는 것이 더 좋음

 

 

 

🔗 소스 코드
GitHub