코딩 테스트/SQL

[프로그래머스 - LEVEL 1] 물고기 종류 별 대어 찾기

macbook2 2026. 6. 25. 17:24

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

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr


문제

물고기 종류 별로 가장 큰 물고기의 ID, 물고기 이름, 길이를 출력하는 SQL 문을 작성해주세요. 물고기의 ID 컬럼명은 ID, 이름 컬럼명은 FISH_NAME, 길이 컬럼명은 LENGTH로 해주세요. 결과는 물고기의 ID에 대해 오름차순 정렬해주세요. 단, 물고기 종류별 가장 큰 물고기는 1마리만 있으며 10cm 이하의 물고기가 가장 큰 경우는 없습니다.

 

 

풀이

SELECT
    i.ID,
    n.FISH_NAME,
    i.LENGTH
FROM FISH_INFO i
JOIN FISH_NAME_INFO n
    ON i.FISH_TYPE = n.FISH_TYPE
JOIN (
    SELECT
        FISH_TYPE,
        MAX(LENGTH) AS MAX_LENGTH
    FROM FISH_INFO
    GROUP BY FISH_TYPE
) m
ON i.FISH_TYPE = m.FISH_TYPE
AND i.LENGTH = m.MAX_LENGTH
ORDER BY i.ID;