본문 바로가기
Algorithm/programmers

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

by 밤초록 2024. 4. 5.

 

조건에 부합하는 중고거래 댓글 조회하기 | Lv.1
https://school.programmers.co.kr/learn/courses/30/lessons/164673

 

 

 

 

작성 코드 (성공)

 

SELECT USED_GOODS_BOARD.TITLE AS 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 DATE_FORMAT 
FROM USED_GOODS_BOARD 
RIGHT JOIN USED_GOODS_REPLY ON USED_GOODS_REPLY.BOARD_ID = USED_GOODS_BOARD.BOARD_ID 
WHERE USED_GOODS_BOARD.CREATED_DATE BETWEEN '2022-10-01' AND '2022-10-31' 
ORDER BY DATE_FORMAT, TITLE

 

  • 정답이긴 하지만, 테이블명을 그대로 쓰느라 가시성이 좋지 않음
  • DATE_FORMAT 기간 설정 시 BEWEEN 사용하면 길어짐
  • DATE_FORMAT 변수명으로 잘못 씀

 

 

이상 코드

 

 

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 A, USED_GOODS_REPLY B 
WHERE A.BOARD_ID = B.BOARD_ID
AND A.CREATED_DATE LIKE '2022-10%'
ORDER BY B.CREATED_DATE ASC, A.TITLE ASC;

 

  • 별도로 JOIN X
  • 테이블명 단순화
  • 날짜 검색 시 LIKE 로 단순화

 

반응형

'Algorithm > programmers' 카테고리의 다른 글

[프로그래머스] 징검다리  (0) 2023.05.21
[프로그래머스] 입국심사  (0) 2023.05.19
[프로그래머스] H-Index  (0) 2023.05.18
[프로그래머스] 디스크 컨트롤러  (0) 2023.05.17
[프로그래머스] 더 맵게  (0) 2023.05.15

댓글