[프로그래머스 SQL/293257] 물고기 종류 별 잡은 수 구하기

☑️ 문제

프로그래머스 293257

☑️ 풀이

첫 번째 풀이

SELECT COUNT(*) AS FISH_COUNT, (SELECT FISH_NAME FROM FISH_NAME_INFO WHERE FISH_TYPE = FI.FISH_TYPE) AS FISH_NAME
FROM FISH_INFO FI INNER JOIN FISH_NAME_INFO FNI
ON FI.FISH_TYPE = FNI.FISH_TYPE
GROUP BY FI.FISH_TYPE
ORDER BY FISH_COUNT DESC
  • 이 풀이는 성공했지만 SELECT 절에서 다시 서브쿼리로 FISH_NAME을 가져오는 과정이 비효율적이다.
  • 바로 FISH_NAME을 기준으로 그룹화하는 것이 더 직관적!

두 번째 풀이

SELECT COUNT(*) AS FISH_COUNT, FISH_NAME
FROM FISH_INFO FI INNER JOIN FISH_NAME_INFO FNI
ON FI.FISH_TYPE = FNI.FISH_TYPE
GROUP BY FISH_NAME
ORDER BY FISH_COUNT DESC

© 2021. All rights reserved.

yaejinkong의 블로그