[SQL 문제 풀이] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기

프로그래머스(164671)
Stupefyee's avatar
Apr 03, 2025
[SQL 문제 풀이] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기
notion image
notion image
 

내가 작성한 쿼리

Oracle

SELECT '/home/grep/src/' || BOARD_ID || '/' || FILE_ID || FILE_NAME || FILE_EXT AS FILE_PATH FROM USED_GOODS_FILE WHERE BOARD_ID IN ( SELECT FIRST_VALUE(BOARD_ID) OVER (ORDER BY VIEWS DESC) FROM USED_GOODS_BOARD ) ORDER BY FILE_ID DESC;

MySQL

SELECT CONCAT('/home/grep/src/', BOARD_ID, '/', FILE_ID, FILE_NAME, FILE_EXT) FILE_PATH FROM USED_GOODS_FILE WHERE BOARD_ID IN ( SELECT FIRST_VALUE(BOARD_ID) OVER (ORDER BY VIEWS DESC) FROM USED_GOODS_BOARD ) ORDER BY FILE_ID DESC;

차이점

  • 문자열을 합치는 방식의 차이
    • Oracle: concat()은 2개의 인자만 받을 수 있음 → ||을 통해 여러개 합치기 가능
    • MySQL: concat()이 여러개의 인자를 받을 수 있음
 
Share article

stupefyee