<USED_GOODS_BOARD> & <USED_GOODS_FILE> 테이블 구조
<문제>
<문제 풀이>
SELECT concat('/home/grep/src/', F.BOARD_ID, '/', FILE_ID,FILE_NAME, FILE_EXT) AS FILST_PATH
FROM USED_GOODS_FILE AS F
LEFT JOIN USED_GOODS_BOARD AS B
ON F.BOARD_ID = B.BOARD_ID
WHERE VIEWS = (SELECT MAX(VIEWS)
FROM USED_GOODS_BOARD)
ORDER BY FILE_ID DESC;
지난번에 풀었던 문제들의 짬뽕이었다. (concat 함수 + 외부조인 + where절에 서브쿼리 사용)
조금 다른 점은 WHERE 절내 서브 쿼리에서 사용된 집계 함수가 HAVING 절이 아닌 SELECT 절에서 바로 사용되었다는 점이다.
MAX 함수를 사용한 이유는
한 개의 값만 리턴 되어야 했고, 서브쿼리 내에서는 LIMIT 절을 사용할 수 없기 때문이다!
'IT > SQL' 카테고리의 다른 글
[MySQL] 프로그래머스 - 보호소에서 중성화한 동물 (0) | 2024.01.24 |
---|---|
[MySQL] 프로그래머스 - 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 (0) | 2024.01.24 |
[MySQL] 프로그래머스 - 헤비 유저가 소유한 장소 (0) | 2024.01.24 |
[MySQL] 프로그래머스 - 자동차 대여 기록에서 대여 중 / 대여 가능 여부 구분하기 (0) | 2024.01.23 |
[MySQL] 프로그래머스 - 조건에 맞는 사용자 정보 조회하기 (0) | 2024.01.23 |