Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 로그인과 장바구니 구현
- SESSION
- Oracle
- 자바
- 고객센터 구현
- java
- 교보문고 따라하기
- jsp
- 인증코드로 비밀번호 변경 구현
- js
- Level 1
- Spring MVC
- 오라클
- 다중 카테고리 구현
- ajax
- Spring
- 스프링
- MySQL
- 대분류/중분류/소분류
- jakarta.mail
- MVC
- jsp 프로젝트
- 세션
- Sts
- 이메일로 인증코드 전송 구현
- 코딩
- 일단_해보는거야
- 프로그래머스
- json
- jquery
Archives
감 잃지말고 개발하기
[프로그래머스] [Oracle] [Level 1] [INNER JOIN] 조건에 부합하는 중고거래 댓글 조회하기 본문
프로그래머스/Oracle
[프로그래머스] [Oracle] [Level 1] [INNER JOIN] 조건에 부합하는 중고거래 댓글 조회하기
persii 2023. 3. 13. 11:01문제
USED_GOODS_BOARD 테이블
Column name | Type | Nullable | Description |
BOARD_ID | VARCHAR(5) | FALSE | 게시글 ID |
WRITER_ID | VARCHAR(50) | FALSE | 작성자 ID |
TITLE | VARCHAR(100) | FALSE | 게시글 제목 |
CONTENTS | VARCHAR(1000) | FALSE | 게시글 내용 |
PRICE | NUMBER | FALSE | 가격 |
CREATED_DATE | DATE | FALSE | 작성일 |
STATUS | VARCHAR(10) | FALSE | 거래상태 |
VIEWS | NUMBER | FALSE | 조회수 |
USED_GOODS_REPLY 테이블
Column name | Type | Nullable | Description |
REPLY_ID | VARCHAR(10) | FALSE | 댓글 ID |
BOARD_ID | VARCHAR(5) | FALSE | 게시글 ID |
WRITER_ID | VARCHAR(50) | FALSE | 작성자 ID |
CONTENTS | VARCHAR(1000) | TRUE | 댓글 내용 |
CREATED_DATE | DATE | FALSE | 작성일 |
위 두 개의 테이블은 각각 중고거래 게시판 정보를 담은 USED_GOODS_BOARD 테이블과 중고거래 게시판 첨부파일 정보를 담은 USED_GOODS_REPLY 테이블이다.
이때, 2022년 10월에 작성된 게시글을 기준으로 게시글 제목, 게시글 ID, 댓글 ID, 댓글 작성자 ID, 댓글 내용, 댓글 작성일을 조회하는 SQL문을 작성하시오.
결과는 댓글 작성일을 기준으로 오름차순으로 정렬하되, 만약 댓글 작성일이 같다면 게시글 제목을 기준으로 오름차순 정렬하시오.
주의사항
CREATED_DATE의 포맷은 '2022-10-02'(YYYY-MM-DD) 형식으로 처리되어야 한다.
접근방법
1. 현재 접속한 세션의 날짜 형식을 알아보기 위해 NSL_SESSION_PARAMETERS를 조회한다.
2. 2022년 10월에 작성된 게시글만을 기준으로 하기 위해 WHERE절에 비교연산자 LIKE를 이용한다.
해결
출력결과
♣ 추가 설명 ♣
1. NSL_SESSION_PARAMETERS
나라마다, 혹은 개인마다 설정해 놓은 날짜 형식이 다르기 때문에 날짜 데이터 검색의 경우 현재 접속한 세션(sesison)의 날짜 형식을 확인하는 것이 필요한데, 이때 사용하는 테이블이 바로 NSL_SESSION_PARAMETERS이다.
바로 위의 두 테이블이 저장되어 있는 DB의 경우를 조회해 보면 다음과 같다.
SQL문
출력결과
이 DB의 경우 날짜 포맷이 'DD-MON-RR'의 형식으로 저장되는 것을 확인할 수 있다.
이에 따라 본문의 WHERE절에서 비교연산자 LIKE를 이용해 '%-OCT-22'로 작성하여 주어진 조건문을 처리했음을 알 수 있다.
'프로그래머스 > Oracle' 카테고리의 다른 글
[프로그래머스][Oracle][Level 3] 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 (0) | 2024.01.30 |
---|---|
[프로그래머스] [Oracle] [Level 1] 어린 동물 찾기 (0) | 2023.03.03 |
[프로그래머스] [Oracle] [Level 1] 조건에 맞는 회원 수 구하기 (0) | 2023.03.01 |
[프로그래머스] [Oracle] [Level 1] [COUNT] [DISTINCT] [중복 제거하기] COUNT() 와 COUNT([DISTINCT] expr) 차이 이해하기 (0) | 2023.02.28 |
[프로그래머스] [Oracle] [Level 2] [GROUP BY] 진료과별 총 예약 횟수 출력하기 (0) | 2022.12.29 |
[프로그래머스] [GROUP BY] [Level 2] 성분으로 구분한 아이스크림 총 주문량 출력하기 (0) | 2022.12.27 |