조건에 부합하는 중고거래 댓글 조회하기 | 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 |
댓글