최초 23/12/09
https://school.programmers.co.kr/learn/courses/30/lessons/164673
USED_GOODS_BOARD 테이블이 다음과 같이 주어짐
Column name Type Nullable
BOARD_ID VARCHAR(5) FALSE
WRITER_ID VARCHAR(50) FALSE
TITLE VARCHAR(100) FALSE
CONTENTS VARCHAR(1000) FALSE
PRICE NUMBER FALSE
CREATED_DATE DATE FALSE
STATUS VARCHAR(10) FALSE
VIEWS NUMBER FALSE
USED_GOODS_REPLY 테이블이 다음과 같이 주어짐
Column name Type Nullable
REPLY_ID VARCHAR(10) FALSE
BOARD_ID VARCHAR(5) FALSE
WRITER_ID VARCHAR(50) FALSE
CONTENTS VARCHAR(1000) TRUE
CREATED_DATE DATE FALSE
이 때 2022년 10월에 작성된 게시글 제목, 게시글 ID, 댓글 ID, 댓글 작성자 ID, 댓글 내용, 댓글 작성일을 조회. 댓글 작성일 기준으로 오름차순 정렬. 댓글 작성일이 같다면 게시글 제목 기준으로 오름차순 정렬.
INNER JOIN
A JOIN B ON A.column = B.column
A JOIN B USING(column)
A NATURAL JOIN B
SELECT Alias
FROM Alias
FROM > WHERE > GROUP BY > HAVING > ORDER BY > SELECT 적용
SELECT B.TITLE, B.BOARD_ID,
R.REPLY_ID, R.WRITER_ID, R.CONTENTS,
DATE_FORMAT(R.CREATED_DATE, '%Y-%m-%d') AS CREATED_DATE
FROM (
USED_GOODS_BOARD AS B JOIN USED_GOODS_REPLY AS R USING(BOARD_ID)
)
WHERE YEAR(B.CREATED_DATE) = 2022 AND MONTH(B.CREATED_DATE) = 10
ORDER BY R.CREATED_DATE, A.TITLE;