티스토리 뷰
MySQL 코딩테스트 - 조건에 부합하는 중고거래 댓글 조회하기
USED_GOODS_BOARD와 USED_GOODS_REPLY 테이블에서 2022년 10월에 작성된 게시글 제목, 게시글 ID, 댓글 ID, 댓글 작성자 ID, 댓글 내용, 댓글 작성일을 조회하는 SQL문을 작성해주세요. 결과는 댓글 작성일을 기준으로 오름차순 정렬해주시고, 댓글 작성일이 같다면 게시글 제목을 기준으로 오름차순 정렬해주세요.
문제풀이방법
- 문제가 좀 모호한거같다. 문제에 따르면 LEFT JOIN 으로 푸는게 맞는거같은데, 정답은 INNER JOIN 이라고한다. 문제 자체가 약간 모호하게 작성되어 있습. JOIN 방식에 대한 명확한 지시가 없어서 LEFT JOIN과 INNER JOIN을 어떻게 선택할지 헷갈리게되어있다.
- 정답을 기준으로 역으로 추측하자면 댓글이 없는 게시글은 결과에 포함되지 않아야하므로, LEFT JOIN을 사용하면 댓글이 없는 게시글도 포함되므로 이 요구에 맞지 않음. 따라서 댓글이 있는 게시글만을 조회하기 위해 INNER JOIN을 사용하면 정답이된다.
- 날짜 포맷팅은 date_format(날짜,'%Y-%m-%d')으로 변경한다. where 문에서는 left 함수를 사용해도 걸러낼수있다.
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 b
INNER join USED_GOODS_REPLY r on b.BOARD_ID=r.BOARD_ID
where date_format(b.CREATED_DATE,'%Y-%m') = '2022-10'
order by r.CREATED_DATE,b.TITLE'SQL' 카테고리의 다른 글
| MySQL 코딩테스트 - 특정아이템들의 가격의 총합 (0) | 2024.10.10 |
|---|---|
| MySQL 코딩테스트 - 가잔 비싼식품 찾아내기 max, limit (0) | 2024.10.10 |
| MySQL 코딩테스트 - 재구매 데이터 추출하기 (0) | 2024.10.10 |
| MySQL 코딩테스트 - 서울에 위치한 식당 평균 점수 추출하기 (0) | 2024.10.10 |
| MySQL 코딩테스트 - 조회수가 가장 많은 글첨부파일 조회 CONCAT (0) | 2024.10.07 |
최근에 올라온 글
최근에 달린 댓글
링크