프로그래머스 - 조건에 부합하는 중고거래 댓글 조회하기

윤민선·2026년 6월 3일

프로그래머스

목록 보기
12/84

문제 설명

두 테이블을 활용해 2022년 10월에 작성된 게시글에 달린 댓글의 제목, 게시글 ID, 댓글 ID, 댓글 작성자 ID, 댓글 내용, 댓글 작성일을 댓글 작성일과 게시글 제목 오름차순으로 조회하는 문제이다.

테이블주요 컬럼
USED_GOODS_BOARDBOARD_ID, WRITER_ID, TITLE, CREATED_DATE
USED_GOODS_REPLYREPLY_ID, BOARD_ID, WRITER_ID, CONTENTS, CREATED_DATE

두 테이블 모두 BOARD_ID를 공통으로 갖고 있어서, 이걸 기준으로 연결할 수 있다.


접근 방법

공통 키인 BOARD_ID를 기준으로 JOIN해야 한다. 먼저 흐름을 잡아보았다.

SELECT 게시글 제목, 게시글 ID, 댓글 ID, 댓글 작성자 ID, 댓글 내용, 댓글 작성일
FROM USED_GOODS_BOARD B
JOIN USED_GOODS_REPLY R ON B.BOARD_ID = R.BOARD_ID
WHERE B.CREATED_DATE LIKE '2022-10%'
ORDER BY 게시글 제목, 댓글 작성일 

첫 번째, 댓글 작성일을 YYYY-MM-DD 형식으로 출력해야 하므로 DATE_FORMAT(R.CREATED_DATE, '%Y-%m-%d')을 사용해야 한다.

ORDER BY는 댓글 작성일(R.CREATED_DATE), 게시글 제목(B.TITLE) 순으로 정렬하면 된다.

구체적으로 정리한 풀이 흐름:

  1. 테이블 2개 → 공통 키 BOARD_ID 기준으로 JOIN
  2. WHERE B.CREATED_DATE LIKE '2022-10%'로 2022년 10월 게시글 필터
  3. DATE_FORMAT()으로 댓글 작성일 형식 지정
  4. ORDER BY R.CREATED_DATE, B.TITLE 오름차순 정렬

최종 코드

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 B.CREATED_DATE LIKE '2022-10%'
ORDER BY R.CREATED_DATE, B.TITLE

0개의 댓글