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

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

 

SELECT A.TITLE, 
    A.BOARD_ID,
    B.REPLY_ID,
    B.WRITER_ID,
    B.CONTENTS,
    DATE_FORMAT(B.CREATED_DATE,'%Y-%m-%d') AS CREATED_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;

 

 

처음에 작성할때, 아래와 같이 작성했는데, 통과하지 못하고 왜 통과하지 못했는지 단박에 이유를 찾지 못했다. 

SELECT A.TITLE, 
    A.BOARD_ID,
    B.REPLY_ID,
    B.WRITER_ID,
    B.CONTENTS,
    DATE_FORMAT(B.CREATED_DATE,'%Y-%m-%d') AS CREATED_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;

자세히 보면 

ON A.BOARD_ID = B.BOARD_ID; 로 아직 뒤에 WHERE과 ORDER BY 등이 남아있는데 ; 를 작성했다

그래서 그 위에 있던 쿼리문은 종료되고 이제 새로운 쿼리가 시작되는데 해당 내용들이 쌩뚱맞게

바로 WHERE부터 나오고 하는 등의 문제로 제대로 정상적으로 동작하지 않았다. 

 

;를 붙일때는 주의하도록 하자. 

 

그리고 

INNER JOIN USED_GOODS_REPLY AS B ON A.BOARD_ID = B.BOARD_ID

 

위의 내용처럼 INNER JOIN 내용을 한번에 쭉 ON 붙여서 나열하였는데, 

  Comments,     Trackbacks