Problem Solving/프로그래머스

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

LeeJaeJun 2024. 2. 20. 21:30
728x90
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/164673

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

정답 코드
SELECT USED_GOODS_BOARD.TITLE, USED_GOODS_BOARD.BOARD_ID, USED_GOODS_REPLY.REPLY_ID, USED_GOODS_REPLY.WRITER_ID, USED_GOODS_REPLY.CONTENTS, DATE_FORMAT(USED_GOODS_REPLY.CREATED_DATE, '%Y-%m-%d') as CREATED_DATE
FROM USED_GOODS_BOARD
INNER JOIN USED_GOODS_REPLY ON USED_GOODS_BOARD.BOARD_ID = USED_GOODS_REPLY.BOARD_ID
WHERE USED_GOODS_BOARD.CREATED_DATE LIKE '2022-10%'
ORDER BY USED_GOODS_REPLY.CREATED_DATE, USED_GOODS_BOARD.TITLE;

JOIN을 한 뒤에도 어디서 무엇을 가져오는지 잘 파악하고 명시하는 것이 중요!

SELECT  A.TITLE
        , A.BOARD_ID
        , B.REPLY_ID
        , B.WRITER_ID
        , B.CONTENTS
        , DATE_FORMAT(B.CREATED_DATE, '%Y-%m-%d') AS CRAETED_DATE
  FROM  USED_GOODS_BOARD AS A
 INNER
  JOIN  USED_GOODS_REPLY AS B
    ON  A.BOARD_ID = B.BOARD_ID
 WHERE  SUBSTR(A.CREATED_DATE,1,7) = '2022-10'
 ORDER
    BY  B.CREATED_DATE, A.TITLE;

AS로 별칭을 만들어서 간단히 나타낼 수 있다.

728x90
반응형