SQL 연습 - 물고기 종류 별 대어 찾기

지식저장공간·2024년 12월 12일

SQL

목록 보기
14/18

SQL 연습

문제

프로그래머스

정답

WITH SUB AS (
    SELECT FISH_TYPE, MAX(LENGTH) AS MAX_LEN
    FROM FISH_INFO
    WHERE LENGTH IS NOT NULL
    GROUP BY FISH_TYPE
)
SELECT ID, FISH_NAME, LENGTH
FROM FISH_INFO
JOIN FISH_NAME_INFO USING(FISH_TYPE)
JOIN SUB USING (FISH_TYPE)
WHERE LENGTH = SUB.MAX_LEN
ORDER BY ID;

풀이

서브쿼리를 이용하여 FISH_TYP별 LENGTH의 최대값을 구해준다.
서브쿼리 테이블과 FISH_INFO, FISH_NAME_INFO 테이블을 JOIN 해주기 위해 FISH_TYPE을 사용하고, 서브쿼리 테이블에서 구한 최대값과 FISH_INFO 테이블의 LENGTH 값이 같은 데이터를 조회하여 FISH_TYPE별 최대값을 가진 데이터를 조회할 수 있다.

profile
발전하는 개발자가 꿈입니다. 지식을 쌓고 지식을 활용해 목표 달성을 추구합니다.

0개의 댓글