조건에 부합하는 중고거래 댓글 조회하기
조건에 부합하는 중고거래 댓글 조회하기 - 프로그래머스 -
"USED_GOODS_BOARD" 와 "USED_GOODS_REPLY" 테이블 JOIN 하기
SELECT * FROM USED_GOODS_BOARD ugb
INNER JOIN USED_GOODS_REPLY ugr ON ugb.BOARD_ID = ugr.BOARD_ID
"CONTENTS"와 "CREATED_DATE"가 두 개이다.
필드명은 같지만 각각 다른 값을 가리키고 있다는 의미이다.
문제의 필드값의 의미를 잘 이해하는 것이 중요하다.
각 테이블 필드의 의미
USED_GOODS_BOARD | USED_GOODS_REPLY | ||
Column name | 의미 | Column name | 의미 |
BOARD_ID | 게시글 ID | BOARD_ID | 게시글 ID |
WRITER_ID | 게시글 작성자 ID | WRITER_ID | 댓글 작성자 ID |
TITLE | 게시글 제목 | ||
CONTENTS | 게시글 내용 | CONTENTS | 댓글 내용 |
PRICE | 가격 | ||
CREATED_DATE | 게시글 작성일 | CREATED_DATE | 댓글 작성일 |
STATUS | 거래상태 | REPLY_ID | 댓글 ID |
VIEWS | 조회수 |
"WRITER_ID"와 "CONTENTS", "CREATED_DATE"와같이
필드 명이 같지만 의미하는 바가 다르다는 것을 파악할 수 있다.
WHERE 조건문으로 특정 날짜만 가져오기
WHERE DATE_FORMAT(날짜 필드 명, 포맷형식)
WHERE DATE_FORMAT(ugb.CREATED_DATE, '%Y-%m') = '2022-10'
"DATE_FORMAT"으로 2022년 10월의 날짜만 가져올 수 있다.
문제에서 요구하는 Column만 가져오기
SELECT
ugb.TITLE,
ugb.BOARD_ID,
ugr.REPLY_ID,
ugr.WRITER_ID,
ugr.CONTENTS,
DATE_FORMAT(ugr.CREATED_DATE, '%Y-%m-%d') AS CREATED_DATE
FROM USED_GOODS_BOARD ugb
문제에서 요구하는 Column은
게시글 제목, 게시글 ID,
댓글 ID, 댓글 작성자 ID, 댓글내용, 댓글 작성일이다.
"DATE_FORMAT"으로 조건에 맞는 날짜만 출력해 준다.
정렬하기
ORDER BY ugr.CREATED_DATE, ugb.TITLE
SELECT
ugb.TITLE,
ugb.BOARD_ID,
ugr.REPLY_ID,
ugr.WRITER_ID,
ugr.CONTENTS,
DATE_FORMAT(ugr.CREATED_DATE, '%Y-%m-%d') AS CREATED_DATE
FROM USED_GOODS_BOARD ugb
INNER JOIN USED_GOODS_REPLY ugr ON ugb.BOARD_ID = ugr.BOARD_ID
WHERE DATE_FORMAT(ugb.CREATED_DATE, '%Y-%m') = '2022-10'
ORDER BY ugr.CREATED_DATE, ugb.TITLE
'데이터베이스 탐구' 카테고리의 다른 글
프로그래머스) (mySQL) 과일로 만든 아이스크림 고르기 (0) | 2023.04.13 |
---|---|
프로그래머스) (mySQL) 조건에 맞는 도서 리스트 출력하기 (0) | 2023.04.12 |
프로그래머스) (mySQL) 평균 일일 대여 요금 구하기 (0) | 2023.04.09 |
프로그래머스) (mySQL) 자동차 대여 기록에서 장기/단기 대여 구분하기 (0) | 2023.04.07 |
프로그래머스) (mySQL) 특정 옵션이 포함된 자동차 리스트 구하기 (0) | 2023.04.07 |