[MySQL] - 조건에 부합하는 중고거래 댓글 조회하기

박경희·2023년 12월 27일

코딩테스트

목록 보기
6/69


SELECT 
	b.TITLE, 
	b.BOARD_ID, 
	r.REPLY_ID, 
	r.WRITER_ID, 
	r.CONTENTS, 
	DATE_FORMAT(r.CREATED_DATE, '%Y-%m-%d') AS CREATED_DATE
FROM 
	USED_GOODS_BOARD b
JOIN 
	USED_GOODS_REPLY r ON b.BOARD_ID = r.BOARD_ID 
WHERE 
	DATE_FORMAT(b.CREATED_DATE, '%Y-%m') = '2022-10'
AND DATE_FORMAT(r.CREATED_DATE, '%Y-%m') = '2022-10'
ORDER BY 
	r.CREATED_DATE ASC, b.TITLE ASC
;

문제를 보고 위와 같이 작성했지만 문제가 풀리지 않았다. 문제풀이를 살펴보다 보니

조건이 중의적으로 보일수도 있었나봅니다! 해당 기간에 작성된 댓글이 아니라 게시글이라고 합니다.

라는 글을 발견하고

AND DATE_FORMAT(r.CREATED_DATE, '%Y-%m') = '2022-10'

부분을 빼니 통과했다.

정답

SELECT 
	b.TITLE, 
	b.BOARD_ID, 
	r.REPLY_ID, 
	r.WRITER_ID, 
	r.CONTENTS, 
	DATE_FORMAT(r.CREATED_DATE, '%Y-%m-%d') AS CREATED_DATE
FROM 
	USED_GOODS_BOARD b
JOIN 
	USED_GOODS_REPLY r ON b.BOARD_ID = r.BOARD_ID 
WHERE 
	DATE_FORMAT(b.CREATED_DATE, '%Y-%m') = '2022-10'
ORDER BY 
	r.CREATED_DATE ASC, b.TITLE ASC
;

느낀점

프로젝트를 진행하며 쿼리 짜는 것에 대해 어려움을 많이 느꼈는데, 조건을 하나하나 생각하며 작성해보니 어떤식으로 쿼리를 짜야 하는지 이해됐다.

다양한 문제를 풀어봐야 내가 생각해보지 않았던 분야도 생각해보게 되고 그걸 응용해볼 수 있게되니 코테 연습도 꾸준히 해야하는 이유를 알 것 같다.

0개의 댓글