SQL 코드카타

조건에 부합하는 중고거래 댓글 조회하기

여연찌 2024. 3. 19. 23:43
  • USED_GOODS_BOARD와 USED_GOODS_REPLY 테이블에서 2022년 10월에 작성된 게시글 제목, 게시글 ID, 댓글 ID, 댓글 작성자 ID, 댓글 내용, 댓글 작성일을 조회하는 SQL문을 작성해주세요. 결과는 댓글 작성일을 기준으로 오름차순 정렬해주시고, 댓글 작성일이 같다면 게시글 제목을 기준으로 오름차순 정렬해주세요.

 

SELECT title
     , ub.board_id
     , ur.reply_id
     , ur.writer_id
     , ur.contents
     , ub.created_date
FROM used_goods_board ub
INNER JOIN used_goods_reply ur ON ub.writer_id = ur.writer_id
WHERE ub.created_date BETWEEN '2022-10-01' AND '2022-10-31'
ORDER BY ub.created_date, title

+

1번째 시도

 

SELECT title
     , ub.board_id
     , ur.reply_id
     , ur.writer_id
     , ur.contents
     , ub.created_date AS CREATED_DATE
FROM used_goods_board ub
INNER JOIN used_goods_reply ur ON ub.writer_id = ur.writer_id
WHERE ub.created_date BETWEEN '2022-10-01' AND '2022-10-31'
ORDER BY ub.created_date, title

+

2번째 시도

컬럼명을 CREATED_DATE 로 변경

 

SELECT title
     , ub.board_id
     , ur.reply_id
     , ur.writer_id
     , ur.contents
     , SUBSTR(ub.created_date,1,10) AS CREATED_DATE
FROM used_goods_board ub
INNER JOIN used_goods_reply ur ON ub.writer_id = ur.writer_id
WHERE ub.created_date BETWEEN '2022-10-01' AND '2022-10-31'
ORDER BY ub.created_date, title

+

3번째 시도

포맷형식을 바꾸기 위해 SUBSTR 함수 사용

 

SELECT ub.title
     , ub.board_id
     , ur.reply_id
     , ur.writer_id
     , ur.contents
     , SUBSTR(ub.created_date,1,10) AS CREATED_DATE -- 1.포맷예시를 맞추려고 서브스타를 했지만 틀렸음,,
FROM used_goods_board ub
INNER JOIN used_goods_reply ur ON ub.board_id = ur.board_id -- 2.조인조건을 바꿨으나 틀렸다함./.,,
WHERE ub.created_date BETWEEN '2022-10-01' AND '2022-10-31'
ORDER BY ub.created_date, ub.title

+

4번째 시도

조인 조건을 게시글 ID 로 변경

 

SELECT ub.title
     , ub.board_id
     , ur.reply_id
     , ur.writer_id
     , ur.contents
     , SUBSTR(ur.created_date,1,10) AS CREATED_DATE -- 1.포맷예시를 맞추려고 서브스타를 했지만 틀렸음,,
FROM used_goods_board ub
INNER JOIN used_goods_reply ur ON ub.board_id = ur.board_id -- 2.조인조건을 바꿨으나 틀렸다함./.,,
WHERE ub.created_date BETWEEN '2022-10-01' AND '2022-10-31'
ORDER BY ur.created_date, ub.title -- 3. 댓글작성일로 정렬조건 변경했으나 틀렸음,,

+

5번째 시도

정렬조건을 댓글작성일로 변경

 

SELECT ub.title
     , ub.board_id
     , ur.reply_id
     , ur.writer_id
     , ur.contents
     , SUBSTR(ur.created_date,1,10) AS CREATED_DATE -- 1.포맷예시를 맞추려고 서브스타를 했지만 틀렸음,, 4. 댓글작성일 바꾸니까 됐음!!!
FROM used_goods_board ub
INNER JOIN used_goods_reply ur ON ub.board_id = ur.board_id -- 2.조인조건을 바꿨으나 틀렸다함./.,,
WHERE ub.created_date BETWEEN '2022-10-01' AND '2022-10-31'
ORDER BY ur.created_date, ub.title -- 3. 댓글작성일로 정렬조건 변경했으나 틀렸음,,

+

6번째 시도 정답!!

조회 조건을 댓글 작성일로 변경

 

 

 


 

다른 풀이 방식

 

* 포맷형식변경

DATE_FORMAT(변경할 컬럼명, '%Y-%m-%d') 

 

* 22년10월에 작성된 게시글

WHERE DATE_FORMAT(ub.created_date, '%Y-%m') = '2022-10'