반응형
문제
https://school.programmers.co.kr/learn/courses/30/lessons/293261
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 분석
FISH_INFO(ID, FISH_TYPE, LENGTH, TIME)
FISH_NAME_INFO(FISH_TYPE, FISH_NAME)
결과(ID, FISH_NAME, LENGTH)
물고기 유형별 제일 크기가 큰 물고기의 정보를 뽑아오는 쿼리를 작성해야 한다.
우선 물고기 유형별 제일 크기가 큰 물고기를 뽑기 위해 물고기 유형으로 GROUPING 을 해주어야 한다.
물고기 유형별 제일 큰 길이가 무엇인지 먼저 찾고 -> (FISH_TYPE, LENGTH)
그 길이를 갖는 물고기를 찾아야 하기 때문에 서브 쿼리를 작성해 주어야 한다.
코드
SELECT FISH_INFO.ID, FISH_NAME_INFO.FISH_NAME, FISH_INFO.LENGTH
FROM FISH_INFO JOIN FISH_NAME_INFO ON FISH_INFO.FISH_TYPE = FISH_NAME_INFO.FISH_TYPE
WHERE (FISH_INFO.FISH_TYPE, FISH_INFO.LENGTH) IN (
SELECT FISH_INFO.FISH_TYPE, MAX(FISH_INFO.LENGTH)
FROM FISH_INFO
GROUP BY FISH_INFO.FISH_TYPE
)
ORDER BY FISH_INFO.ID ASC;
반응형
'코딩 테스트 > SQL' 카테고리의 다른 글
[SQL] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 (0) | 2024.04.18 |
---|---|
[SQL] 3월에 태어난 여성 회원 목록 출력하기 (0) | 2024.04.04 |
[SQL] 연도 별 평균 미세먼지 농도 조회하기 (0) | 2024.03.29 |
[SQL] 조건에 맞는 사용자 정보 조회하기 (0) | 2024.03.22 |
[SQL] 없어진 기록 찾기 (2) | 2024.03.15 |