안녕하세요! 오늘은~ 프로그래머스 연습 문제 중 오라클로 조건에 부합하는 중고거래 댓글 조회하기를 풀어보겠습니다.
이 문제는 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;
'SQL' 카테고리의 다른 글
데이터베이스, DBMS, 테이블 및 SQL에 대한 전반적인 모든 것! (1) | 2023.06.11 |
---|---|
[프로그래머스 | SQL] 조건에 부합하는 중고거래 상태 조회하기 코드 풀이 (Oracle) (0) | 2023.06.10 |
MySQL, SQL Server 및 MS Access 용 SQL 데이터 유형 이해하기 (0) | 2023.06.08 |
SQL Injection 이란 무엇일까요? 데이터 보호를 위한 종합 정리 (0) | 2023.06.07 |
SQL Views 이해하기 | 종합 정리 (0) | 2023.06.06 |