SQL/SELECT
[프로그래머스 SQL] Lv.3 - 대장균들의 자식의 수 구하기
이런개발
2025. 3. 4. 09:11
https://school.programmers.co.kr/learn/courses/30/lessons/299305
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제 풀이
- ECOLI_DATA 테이블을 자체 조인한다. 조인 조건은 ID와 PARENT_ID가 같아야 하며 이때 LEFT JOIN을 해주는 것이 중요하다. 자식이 없을 때 0을 출력해야 하기 때문이다.
- GROUP BY로 부모 ID를 기준으로 그룹핑해 준다.
- ID를 기준으로 오름차순 정렬한다.
- ID와 자식의 수를 조회한다. 자식의 수는 COUNT 키워드로 조회한다.
SELECT
A.ID,
COUNT(B.ID) AS CHILD_COUNT
FROM
ECOLI_DATA A
LEFT JOIN ECOLI_DATA B
ON A.ID = B.PARENT_ID
GROUP BY A.ID
ORDER BY A.ID