코드 저장소.

프로그래머스[LV.03] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 본문

코테/SQL

프로그래머스[LV.03] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기

slown 2023. 4. 3. 18:04

문제 출저

https://school.programmers.co.kr/learn/courses/30/lessons/164671

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제 

USED_GOODS_BOARD USED_GOODS_FILE 테이블에서 조회수가 가장 높은 중고거래 게시물에 대한 첨부파일 경로를 조회하는 SQL문을 작성해주세요. 첨부파일 경로는 FILE ID를 기준으로 내림차순 정렬해주세요. 기본적인 파일경로는 /home/grep/src/ 이며, 게시글 ID를 기준으로 디렉토리가 구분되고, 파일이름은 파일 ID, 파일 이름, 파일 확장자로 구성되도록 출력해주세요. 조회수가 가장 높은 게시물은 하나만 존재합니다.

 

요구사항

->조회수가 가장 높은 중고거래 게시물에 대한 첨부파일 경로 조회하기.

->첨부파일의 경로는 FILEID를 기준으로 내림차순 정렬하기.

->기본적인 파일경로 + 게시글ID + 파일ID+파일 이름+파일 확장자 ->file path 컬럼

->조회수가 가장 높은 게시물 하나

 

내가 작성한 답안 

SELECT
	concat('/home/grep/src/',b.BOARD_ID,'/',b.FILE_ID,b.FILE_NAME,b.FILE_EXT)as FILE_PATH
FROM
	(select * from USED_GOODS_BOARD order by views desc limit 1)a
join
	USED_GOODS_FILE b
on
	a.BOARD_ID = b.BOARD_ID
order by 
	b.FILE_ID desc

1.파일 경로를 만들기 위해서는 문자열을 붙이는 concat함수를 사용을 해서 파일경로를 완성을 하고

별칭은 FILE_PATH로 한다.

 

2.게시물 테이블은 조회수가 가장 높은 게시물이어야 하므로 서브쿼리를 사용을 하고 파일 테이블과 

조인을 한다. 기준은 게시물ID로 한다.

 

3.FILE_ID를 기준으로 내림차순으로 order by를 사용해서 정렬을 한다.

 

** 추가로 공부를 할 부분

concat함수, 서브쿼리