프로그래머스 | LV.3 물고기 종류 별 대어 찾기 (MySQL)

728x90

⬛ 프로그래머스 | LV.3 물고기 종류 별 대어 찾기 (MySQL)

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

 

프로그래머스

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

programmers.co.kr

문제 설명


💚문제 접근 방식

주의할 점은 FISH_INFO와 FISH_NAME_INFO를 TYPE 기준으로 조인을 하는데 그 중에서도 WHERE 절로 GROUP별 MAX (LENGTH)를 갖는 TYPE으로 제한을 두고 들고오는 것이다.

GROUP HAVING 절로 MAX를 갖는 애를 추려내는 부분이 좀 까다로웠다.

💚 제출 코드

-- 코드를 작성해주세요
SELECT ID, FISH_NAME, A.LENGTH as LENGTH
FROM FISH_INFO as A 
JOIN FISH_NAME_INFO as B
ON A.FISH_TYPE = B.FISH_TYPE
WHERE A.FISH_TYPE IN (SELECT FISH_TYPE 
                    FROM FISH_INFO
                    GROUP BY FISH_TYPE
                    HAVING LENGTH = MAX(LENGTH)
                     )
ORDER BY A.ID ASC;
728x90