[SQL] 연습

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

Simon Yoon 2025. 3. 1. 23:24

문제:

USED_GOODS_BOARD와 USED_GOODS_REPLY 테이블에서 2022년 10월에 작성된 게시글 제목, 게시글 ID, 댓글 ID, 댓글 작성자 ID, 댓글 내용, 댓글 작성일을 조회

- 댓글 작성일을 기준으로 오름차순 정렬

- 댓글 작성일이 같다면 게시글 제목을 기준으로 오름차순 정렬

 

해결방법:

1. 게시글 ID 를 기준으로 BOARD 테이블과 REPLY 테이블을 조인

2. WHERE 절에서 CREATED_DATE 에 대한 기간 기준 설정

3. ORDER BY 에서 정렬 기준 설정

 

예시코드:

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