728x90
🔗 문제 링크
💡 문제 풀이 및 해석
- 가장먼저 BOOK_ID와 PUBLISHED_DATE을 출력해야 하므로 SELECT BOOK_ID, PUBLISHED_DATE를 했다.
- BOOK 이라는 테이블에서 뽑아내야 하므로 FROM BOOK 을 추가해 줬다.
- 그 뒤에 CATEGORY = '인문' 이라는 조건이 있으므로 WHERE CATEGORY = '인문'
- 조건에 출판일이 2021이어야 한다는 조건이 추가로 있으므로 SUBSTR(PUBLISHED_DATE,1,4)를 AND조건으로 추가해줬다.
- 출판일 기준으로 오름차순이어야 하므로 ORDER BY PUBLISHED_DATE ASC를 추가해줬다.
- 출력에 시간은 불필요하므로 DATE_FORMAT 함수를 이용해서 SELECT BOOK_ID, DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d') AS PUBLISHED_DATE 로 SELECT문을 바꿔줬다.
⭐️ 정답 코드 및 설명
SELECT BOOK_ID, DATE_FORMAT(PUBLISHED_DATE,'%Y-%m-%d') AS PUBLISHED_DATE
FROM BOOK
WHERE CATEGORY = '인문' AND SUBSTR(PUBLISHED_DATE,1,4) = 2021
ORDER BY PUBLISHED_DATE ASC;
🤔 문제 후기
DATE_FROMAT 이라는 함수를 알지 못해서 TO_CHAR 형식으로 해서 TO_CHAR(PUBLISHED_DATE, 'YYYY-MM-DD') 으로 출력하려 했는데, 이게 deny된다는 오류가 발생해서 결국 구글링해서 DATE_FORMAT이라는 함수로 날짜를 출력한다고 해서 맞춘 문제였다. 추가로 SUBSTR가 앞에 4자리를 자르기 위해서 SUBSTR(PUBLISHED_DATE,0,4) = 2021 로 했었는데, C++ 과 JAVA 등과 달리 SQL은 인덱스가 1부터 시작하는 부분을 까먹어서 조금 애먹었다.
728x90
'SQL 문제 풀이' 카테고리의 다른 글
[ 프로그래머스 ] 자동차 대여 기록에서 장기/단기 대여 구분하기 (MySQL) (0) | 2024.03.05 |
---|---|
[ 프로그래머스 ] 조건에 부합하는 중고거래 댓글 조회하기 (MySQL) (1) | 2024.03.05 |
[ 프로그래머스 ] 인기있는 아이스크림 (MySQL) (0) | 2024.03.05 |
[ 프로그래머스 ] 과일로 만든 아이스크림 고르기 (MySQL) (0) | 2024.03.05 |
[ 프로그래머스 ] 일일 평균 대여 요금 구하기 (MySQL) (0) | 2024.03.05 |