IT/SQL

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

무지개는 환상 2024. 1. 17. 14:33

<USED_GOODS_BOARD> 테이블 & <USED_GOODS_REPLY> 테이블 구조

USED_GOODS_BOARD 테이블
USED_GOODS_REPLY 테이블 구조

 

<문제>

 

 

<문제 풀이>

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

 

우선 결과셋에서 요구하는 컬럼명들을 적었다. 그 후에 두 테이블의 공통으로 있는 BOARD_ID 가 JOIN에 필요한 id라 판단하여 조인하였다. ( 문제에서 기본키와 외래키에 대한 설명이 없음..) 그 후 각 컬럼에 해당하는 테이블 별칭들을 붙여준 후 문제에서 요구하는 기준들을 WHERE 절과 ORDER BY 절에 추가하였다.

 

다만 문제에서 '2개의 테이블에서 2022년 10월에 작성된 ~~~' 로 작성 되어 게시글 생성일과 댓글 생성일 2개다 요구하는 줄 알고 WHERE 절에 붙였다가 자꾸 틀려 꽤 애먹었다.. 사실은 게시글 작성일 기준만 필요했었다..

 

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