문제 :
USED_GOODS_BOARD와 USED_GOODS_REPLY 테이블에서 2022년 10월에 작성된 게시글 제목, 게시글 ID, 댓글 ID, 댓글 작성자 ID, 댓글 내용, 댓글 작성일을 조회하는 SQL문을 작성해주세요. 결과는 댓글 작성일을 기준으로 오름차순 정렬해주시고, 댓글 작성일이 같다면 게시글 제목을 기준으로 오름차순 정렬해주세요.
문제 해결 방식 :
-- 코드를 입력하세요
-- 2022년 10월에 작성된 게시글 제목, 게시글 ID, 댓글 ID, 댓글 작성자 ID, 댓글 내용, 댓글 작성일
-- ORDER BY 댓글 작성일 ASC / 같다면 게시글 제목 ASC
사용 함수 : DATE_FORMAT, INNER JOIN, LIKE
결과 : 정답
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 AS UGB
INNER JOIN USED_GOODS_REPLY UGR ON UGB.BOARD_ID = UGR.BOARD_ID
WHERE UGB.CREATED_DATE LIKE '2022-10%'
ORDER BY 6 ASC, 1 ASC
다른 풀이 방법 :
SUBSTRING 사용
BETWEEN 사용
SELECT
B.TITLE,
B.BOARD_ID,
R.REPLY_ID,
R.WRITER_ID,
R.CONTENTS,
SUBSTRING(R.CREATED_DATE, 1, 10) AS CREATED_DATE
FROM
USED_GOODS_BOARD AS B JOIN USED_GOODS_REPLY AS R
on B.BOARD_ID = R.BOARD_ID
WHERE B.CREATED_DATE BETWEEN '2022-10-01' AND '2022-10-31'
ORDER BY R.CREATED_DATE, B.TITLE
'SQL > 프로그래머스' 카테고리의 다른 글
[Lv.2] 가격이 제일 비싼 식품의 정보 출력하기 (쿼리 실행 순서) (0) | 2024.11.06 |
---|---|
[Lv.2] NULL 처리하기 (0) | 2024.11.06 |
[Lv.2] 이름에 el이 들어가는 동물 찾기 (LIKE) (0) | 2024.11.06 |
[Lv.1] 자동차 대여 기록에서 장기/단기 대여 구분하기 (WHERE, DATEDIFF, LIKE, CASE WHEN) (0) | 2024.11.04 |
[LV.1] 잡은 물고기의 평균 길이 구하기 (서브쿼리, ROUND, ISNULL) (0) | 2024.11.04 |