💫 문제
💫 CODE
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
JOIN USED_GOODS_REPLY b ON a.BOARD_ID = b.BOARD_ID
WHERE YEAR(a.CREATED_DATE) = 2022 AND MONTH(a.CREATED_DATE) = 10
ORDER BY b.CREATED_DATE asc, a.TITLE asc;
💫 풀이 조건
1. 2022년 10월에 작성된 게시글
2. 댓글 작성일을 기준으로 오름차순 정렬
3. 댓글 작성일이 같다면 게시글 제목을 기준으로 오름차순 정렬
💫 풀이
1. 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
- USED_GOODS_BOARD 테이블의 게시글 제목 (TITLE), 게시글 ID (BOARD_ID) 조회
- USED_GOODS_REPLY 테이블의 댓글 ID (REPLY_ID), 작성자 ID (WRITER_ID), 댓글 내용(CONTENTS), 댓글 작성일 (CREATED_DATE) 조회
2. DATE_FORMAT(b.CREATED_DATE, '%Y-%m-%d') AS CREATED_DATE
- DATE_FORMAT 함수를 사용하여 작성일이 년도-월-일 까지만 출력 되도록 변경
- AS를 사용하여 컬럼명에 CREATED_DATE로 별칭 주기
3. FROM USED_GOODS_BOARD a
- USED_GOODS_BOARD 테이블 별칭을 a로 지정
4. JOIN USED_GOODS_REPLY b ON a.BOARD_ID = b.BOARD_ID
- JOIN 함수를 사용하여 다른 테이블(USED_GOODS_REPLY) 조인
- 조인 조건 : ON a.BOARD_ID = b.BOARD_ID
- USED_GOODS_REPLY 테이블 별칭 b로 지정
5. WHERE YEAR(a.CREATED_DATE) = 2022 AND MONTH(a.CREATED_DATE) = 10
- 조건 : 글 작성일(a.CREATED_DATE) 중 년도가 2022년도 이고, 월이 10월인 컬럼
6. ORDER BY b.CREATED_DATE asc, a.TITLE asc;
- ORDER BY를 이용하여 댓글 작성일(b.CREATED_DATE) 기준으로 오름차순, 댓글 작성일이 같다면 게시글 제목(TITLE)을 기준으로 오름차순 정렬