![[프로그래머스] SUM, MAX, MIN LV.3 - 물고기 종류 별 대어 찾기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4EGHk%2FbtsMIqKrjAl%2F8balZEZfM4VwSlCsk5u6VK%2Fimg.png)
[프로그래머스] SUM, MAX, MIN LV.3 - 물고기 종류 별 대어 찾기프로그래머스/SQL2025. 3. 11. 23:56
Table of Contents
https://school.programmers.co.kr/learn/courses/30/lessons/293261
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
select I.ID, N.FISH_NAME, I.LENGTH
from FISH_INFO I
JOIN FISH_NAME_INFO N
ON I.FISH_TYPE = N.FISH_TYPE
WHERE (N.FISH_TYPE, I.LENGTH)
IN (SELECT FISH_TYPE, MAX(LENGTH)
FROM FISH_INFO
GROUP BY FISH_TYPE)
ORDER BY I.ID;
SELECT FISH_TYPE, MAX(LENGTH)
FROM FISH_INFO
GROUP BY FISH_TYPE
이 서브쿼리는 FISH_INFO 테이블에서 각 FISH_TYPE별로 최대 길이(MAX(LENGTH))를 구한다.
결과적으로, 각 어종에 대해 가장 긴 물고기의 길이를 반환한다.
메인 쿼리에서 WHERE 절은 N.FISH_TYPE과 I.LENGTH의 조합이 서브쿼리의 결과에 포함되는지를 확인한다.
결론적으로, 이 WHERE 절은 FISH_NAME_INFO 테이블의 어종과 FISH_INFO 테이블의 길이가 서브쿼리에서 구한 최대 길이와 일치하는 경우만 선택하여 결과를 필터링하는 역할을 한다.
'프로그래머스 > SQL' 카테고리의 다른 글
[프로그래머스] JOIN LV.3 - 없어진 기록 찾기 (0) | 2025.03.07 |
---|
@킴준현 :: 차근차근 꾸준히
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!