반응형
문제
USED_GOODS_BOARD와 USED_GOODS_REPLY 테이블에서 2022년 10월에 작성된 게시글 제목, 게시글 ID, 댓글 ID, 댓글 작성자 ID, 댓글 내용, 댓글 작성일을 조회하는 SQL문을 작성해주세요. 결과는 댓글 작성일을 기준으로 오름차순 정렬해주시고, 댓글 작성일이 같다면 게시글 제목을 기준으로 오름차순 정렬해주세요.
구조
REPLY_ID, BOARD_ID, WRITER_ID, CONTENTS, CREATED_DATE는 각각 댓글 ID, 게시글 ID, 작성자 ID, 댓글 내용, 작성일을 의미합니다.
예시
처음에 작성한 쿼리
-- 코드를 입력하세요
select
b.TITLE,
b.BOARD_ID,
r.REPLY_ID,
r.WRITER_ID,
r.CONTENTS,
to_char(r.CREATED_DATE, 'YYYY-MM-dd')
from used_goods_board b ,used_goods_reply r
where to_char(b.created_date, 'YYYY-MM-dd') like '2022-10%'
order by r.created_date, b.title;
틀린 이유
명시적인 조인 조건이 없어서 두 테이블의 모든 데이터가 조합되어 출력이 되어 버렸습니다..
수정한 쿼리
-- 코드를 입력하세요
select
b.TITLE,
b.BOARD_ID,
r.REPLY_ID,
r.WRITER_ID,
r.CONTENTS,
to_char(r.CREATED_DATE, 'YYYY-MM-dd')
from used_goods_board b join used_goods_reply r on b.board_id = r.board_id
where to_char(b.created_date, 'YYYY-MM-dd') like '2022-10%'
order by r.created_date, b.title;
그래서 명시적인 조건을 부여해줘서 알맞게 출력이 되도록 만들었습니다!
문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/164673
반응형
'코딩테스트 > Oracle DB' 카테고리의 다른 글
[프로그래머스] 조건에 맞는 도서 리스트 출력하기 ( 23-12-13 ) (0) | 2023.12.13 |
---|---|
[프로그래머스] 과일로 만든 아이스크림 고르기 ( 23-12-13 ) (0) | 2023.12.13 |
[프로그래머스] 평균 일일 대여 요금 구하기 ( 23-12-13 ) (0) | 2023.12.13 |
[프로그래머스] 자동차 대여 기록에서 장기/단기 대여 구분하기 ( 23-12-12 ) (0) | 2023.12.12 |
[프로그래머스] 특정 옵션이 포함된 자동차 리스트 구하기 ( 23-12-12 ) (0) | 2023.12.12 |