SQL

[프로그래머스 | SQL] 조건에 부합하는 중고거래 댓글 조회하기 (Oracle)

DSDiary 2023. 6. 9. 19:34
728x90
반응형
SMALL

 

안녕하세요! 오늘은~ 프로그래머스 연습 문제 중 오라클로 조건에 부합하는 중고거래 댓글 조회하기를 풀어보겠습니다.

 

 

 

 

 

이 문제는 USED_GOODS_BOARD 및 USED_GOODS_REPLY라는 두 테이블에서 데이터를 검색하고 필터링 및 정렬을 적용해야 합니다.

 

 

SELECT b.TITLE, 
       b.BOARD_ID, 
       r.REPLY_ID, 
       r.WRITER_ID, 
       r.CONTENTS, 
       TO_CHAR(r.CREATED_DATE, 'YYYY-MM-DD') AS CREATED_DATE
 

 

이 쿼리에서는 선택할 열을 지정합니다. USED_GOODS_BOARD 테이블에서 TITLE, BOARD_ID 열을 검색하고 USED_GOODS_REPLY 테이블에서 REPLY_ID, WRITER_ID, CONTENTS, CREATED_DATE 열을 검색합니다. TO_CHAR 함수는 CREATED_DATE 열의 형식을 'YYYY-MM-DD' 형식의 문자열로 지정하는 데 사용되며 별칭은 CREATED_DATE로 지정됩니다.

 

 

 

 

FROM USED_GOODS_BOARD b
INNER JOIN USED_GOODS_REPLY r ON b.BOARD_ID = r.BOARD_ID
 

 

이 부분은 쿼리 되는 테이블과 해당 별칭을 지정합니다.

 

USED_GOODS_BOARD 테이블의 별칭은 b이고 USED_GOODS_REPLY 테이블의 별칭은 r입니다. INNER JOIN 키워드는 BOARD_ID 열을 기준으로 두 테이블을 조인하는 데 사용됩니다.

 

 

 

 

WHERE TO_CHAR(b.CREATED_DATE, 'YYYYMM') = '202210'
 

 

이 부분은 결과를 필터링할 조건을 지정합니다. 이 쿼리는 TO_CHAR 함수를 사용하여 USED_GOODS_BOARD 테이블의 CREATED_DATE 열을 'YYYYMM' 형식의 문자열로 변환하고, 이를 '202210' 문자열과 비교합니다. 이 조건은 결과를 필터링하여 CREATED_DATE가 2022년 10월인 행만 포함하도록 합니다.

 

 

 

 

ORDER BY r.CREATED_DATE, b.TITLE ASC;
 

 

이 부분은 결과의 정렬 순서를 지정합니다. 이 쿼리는 USED_GOODS_REPLY 테이블의 CREATED_DATE 열을 기준으로 오름차순으로 행을 정렬한 다음 USED_GOODS_BOARD 테이블의 TITLE 열을 기준으로 오름차순으로 행을 정렬합니다.

 

 

 

 

 

전체 코드

SELECT b.TITLE, b.BOARD_ID, r.REPLY_ID, r.WRITER_ID, r.CONTENTS, TO_CHAR(r.CREATED_DATE, 'YYYY-MM-DD') AS CREATED_DATE
FROM USED_GOODS_BOARD b
INNER JOIN USED_GOODS_REPLY r ON b.BOARD_ID = r.BOARD_ID
WHERE TO_CHAR(b.CREATED_DATE, 'YYYYMM') = '202210'
ORDER BY r.CREATED_DATE, b.TITLE ASC;
 

 

 

 

728x90
반응형
LIST