https://school.programmers.co.kr/learn/courses/30/lessons/293261
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제 풀이
- FISH_INFO 테이블과 FISH_NAME_INFO 테이블을 조인한다.
- WHERE 절에서 서브 쿼리로 FISH_INFO 테이블의 물고기 종류별 가장 큰 물고기를 조회한다. 그리고 IN 절로 서브 쿼리에서 조회한 물고기 종류와 종류별 가장 큰 물고기의 길이와 일치하는 행을 필터링한다.
- 물고기 ID와 물고기 이름, 길이를 조회한다.
- 물고기 ID를 기준으로 오름차순 정렬한다.
SELECT
A.ID,
B.FISH_NAME,
A.LENGTH
FROM
FISH_INFO AS A
JOIN FISH_NAME_INFO AS B
ON A.FISH_TYPE = B.FISH_TYPE
WHERE
(A.FISH_TYPE, A.LENGTH) IN
(
SELECT FISH_TYPE, MAX(LENGTH)
FROM FISH_INFO
GROUP BY FISH_TYPE
)
ORDER BY
1'SQL > SUM, MAX, MIN' 카테고리의 다른 글
| [프로그래머스 SQL] Lv.2 - 연도별 대장균 크기의 편차 구하기 (0) | 2025.03.17 |
|---|---|
| [프로그래머스 SQL] Lv.2 - 조건에 맞는 아이템들의 가격의 총합 구하기 (0) | 2025.03.14 |
| [프로그래머스 SQL] Lv2. - 중복 제거하기 (0) | 2025.03.14 |
| [프로그래머스 SQL] Lv.2 - 동물 수 구하기 (0) | 2025.03.14 |
| [프로그래머스 SQL] Lv.2 - 최솟값 구하기 (0) | 2025.03.14 |