문제
USED_GOODS_BOARD와 USED_GOODS_REPLY 테이블에서
2022년 10월에 작성된 게시글 제목, 게시글 ID, 댓글 ID, 댓글 작성자 ID, 댓글 내용, 댓글 작성일을 조회하는 SQL문을 작성
결과는 댓글 작성일을 기준으로 오름차순 정렬해주시고, 댓글 작성일이 같다면 게시글 제목을 기준으로 오름차순 정렬
주의사항 - CREATED_DATE의 포맷이 예시의 포맷과 일치해야 정답처리 (YYYY-MM-DD)
테이블 정보
USED_GOODS_BOARD
BOARD_ID, WRITER_ID, TITLE, CONTENTS, PRICE, CREATED_DATE, STATUS, VIEWS
USED_GOODS_REPLY
REPLY_ID, BOARD_ID, WRITER_ID, CONTENTS, CREATED_DATE
내 풀이
SELECT B.TITLE,
B.BOARD_ID,
R.REPLY_ID,
R.WRITER_ID,
R.CONTENTS,
TO_CHAR(R.CREATED_DATE, 'YYYY-MM-DD')
FROM USED_GOODS_BOARD B, USED_GOODS_REPLY R
WHERE B.BOARD_ID = R.BOARD_ID
AND TO_CHAR(B.CREATED_DATE, 'YYYY-MM-DD') LIKE '2022-10%'
ORDER BY R.CREATED_DATE, B.TITLE
조건으로 2022년 10월에 작성된 게시글이 주어졌고
날짜 포맷이 YYYY-MM-DD로 주어졌으므로 댓글 작성일을 SELECT 할 때 TO_CHAR로 날짜 포맷을 맞췄고
WHERE 절에 JOIN 조건과 2022년 10월에 작성된 게시글로 조건을 추출해줌
이 때, WHERE 절에서 게시글 작성 일을 추출할 때도 반드시 TO_CHAR로 날짜 포맷을 맞춰야함
(안그러면 0행, 즉 빈 ROW 가 추출됨)
문제 출처
https://school.programmers.co.kr/learn/courses/30/lessons/164673