본문 바로가기
Algorithm/SQL

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

by 호찌민 2024. 7. 15.

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

 

프로그래머스

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

programmers.co.kr

 

1. Problem

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

2. Analysis

1. 조회수가 가장 높은 게시물을 뽑기 위해 WHERE 조건에 서브쿼리를 사용함

FROM USED_GOODS_BOARD B
WHERE VIEWS = (SELECT MAX(VIEWS) FROM USED_GOODS_BOARD)

 

2. 경로를 완성하기 위해 CONCAT 함수를 사용하여 문자열들을 붙임

SELECT
     CONCAT('/home/grep/src/', B.BOARD_ID, '/', F.FILE_ID, F.FILE_NAME, F.FILE_EXT) AS FILE_PATH

3. Solution

-- 코드를 입력하세요
SELECT
     CONCAT('/home/grep/src/', B.BOARD_ID, '/', F.FILE_ID, F.FILE_NAME, F.FILE_EXT) AS FILE_PATH
FROM USED_GOODS_BOARD B
LEFT JOIN USED_GOODS_FILE F
ON B.BOARD_ID = F.BOARD_ID
WHERE VIEWS = (SELECT MAX(VIEWS) FROM USED_GOODS_BOARD)
ORDER BY F.FILE_ID DESC
;