Notice
Recent Posts
Recent Comments
Link
250x250
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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
- SQL
- 알고리즘
- node.js
- Next.js
- spring
- 프런트엔드
- 스프링
- 코드테스트
- 서버
- 자바
- 미니정리
- 스프링부트
- 자바스크립트
- BACK-END
- oracle
- MySQL
- 백엔드
- jpa
- 데이터베이스
- 쿼리
- java
- 정리
- JavaScript
- 프론트엔드
- 코드 테스트
- 프로그래머스
- web
- jsp
- 디자인 패턴
- 오라클
Archives
- Today
- Total
참치코더의 꿈 메모장
Oracle / 프로그래머스 - 조회수가 가장 많은 중고거래 게시판의 첨부 파일 조회하기 본문
728x90

|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
SELECT '/home/grep/src' || '/' ||
f.BOARD_ID || '/' ||
FILE_ID ||
FILE_NAME ||
FILE_EXT AS FILE_PATH
FROM USED_GOODS_FILE f
JOIN USED_GOODS_BOARD b
ON f.BOARD_ID = b.BOARD_ID
WHERE b.VIEWS = (
SELECT MAX(VIEWS)
FROM USED_GOODS_BOARD
)
ORDER BY FILE_ID DESC;
|
cs |
- 테이블에서 조회수가 가장 높은 중고거래 게시물에 대한 첨부파일 경로를 조회하는 SQL을 작성하는 문제이다.
- 2개의 테이블에 각각의 정보가 존재하므로 해당 테이블들을 1개로 묶어서 조회하기 위해 JOIN ON 을 사용하여
- 각각의 BOARD_ID로 해당 테이블들을 묶어 주었다.
- 그 이후에 각각의 테이블에 존재하는 BOARD_ID , FILE_ID , FILE_NAME, FILE_EXT 를 꺼내서 하나의 문자열로
- 연결해 주었으며 해당 값을 AS를 사용해 이름을 FILE_PATH로 지정해 주었다.
- 문제에서 조회수가 가장 높은 게시물은 하나만 존재한다고 했으므로, 각 views 값에 서브쿼리를 이용하여 max 함수를
사용하면, 각 컬럼당 조회수가 높은 값을 얻을 수 있다.
- 마지막으로 FILE_ID 값을 기준으로 내림차순 해준다면, 문제의 정답을 얻을 수 있다. ^^

728x90
'Oracle' 카테고리의 다른 글
| Oracle / 프로그래머스 - 대여 기록이 존재하는 자동차 리스트 구하기 (0) | 2026.02.01 |
|---|---|
| ORACLE / 조건에 맞는 사용자와 총 거래금액 조회하기 - 프로그래머스 (0) | 2026.01.27 |
| Oracle / 프로그래머스 - 중성화 여부 파악하기 (0) | 2026.01.19 |
| ORACLE / 프로그래머스 가격이 제일 비싼 식품의 정보 출력하기 (0) | 2026.01.16 |
| 프로그래머스 / Oracle 3월에 태어난 여성 회원 목록 출력하기 (1) | 2026.01.14 |
Comments