Yeongjun's Blog
조건에 부합하는 중고거래 댓글 조회하기(프로그래머스) 본문
프로그래머스 코딩테스트 SQL > SELECT
문제설명
Table: USED_GOODS_BOARD, USED_GOODS_REPLY
USED_GOODS_BOARD Column
- BOARD_ID: 게시글 id
- TITLE: 게시글 제목
USED_GOODS_REPLY Column
- REPLY_ID: 댓글 id
- WRITER_ID: 댓글 작성자 id
- CONTENTS: 댓글 내용
- CREATED_DATE: 댓글 작성일
USED_GOODS_BOARD와 USED_GOODS_REPLY 테이블에서 2022년 10월에 작성된 게시글 제목, 게시글 ID, 댓글 ID, 댓글 작성자 ID, 댓글 내용, 댓글 작성일을 조회하는 SQL문을 작성해주세요. 결과는 댓글 작성일을 기준으로 오름차순 정렬해주시고, 댓글 작성일이 같다면 게시글 제목을 기준으로 오름차순 정렬해주세요..
CREATED_DATE의 포맷이 예시의 포맷과 일치해야 정답처리 됩니다.
문제해결
- 여러 테이블 조인 시 동일한 이름의 열이 있을 수 있어 명확한 참조를 위해 UGB, UGR로 지명
- CREATED_DATE의 예시 포맷과 일치해야 하기에 DATE_FORMAT 사용
- 테이블의 보드 id와 댓글의 보드 id가 일치함 -> UGR.BOARD_ID = UGB.BOARD_ID
- 2022년 10월에 작성된 것들만 확인을 위해 →
WHERE YEAR(UGB.CREATED_DATE) = 2022 AND MONTH(UGB.CREATED_DATE) = 10 - 결과는 댓글 작성일을 기준으로 오름차순 → UGR.CREATED_DATE ASC
- 댓글 작성일이 같다면 게시글 제목을 기준으로 오름차순 → UGB.TITLE ASC
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, USED_GOODS_REPLY UGR
WHERE UGR.BOARD_ID = UGB.BOARD_ID AND YEAR(UGB.CREATED_DATE) = 2022 AND MONTH(UGB.CREATED_DATE) = 10
ORDER BY UGR.CREATED_DATE ASC, UGB.TITLE ASC
'개발 > DB-SQL' 카테고리의 다른 글
특정 형질을 가지는 대장균 찾기(프로그래머스) (0) | 2024.07.06 |
---|---|
가장 큰 물고기 10마리 구하기 (0) | 2024.05.25 |
잡은 물고기의 평균 구하기(프로그래머스) (0) | 2024.05.25 |
자동차 대여 기록에서 장기/단기 대여 구분하기(프로그래머스) (0) | 2024.05.25 |
Python 개발자 찾기(프로그래머스) (0) | 2024.05.25 |