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

 

문제 풀이

  1. ECOLI_DATA 테이블을 자체 조인한다. 조인 조건은 ID와 PARENT_ID가 같아야 하며 이때 LEFT JOIN을 해주는 것이 중요하다. 자식이 없을 때 0을 출력해야 하기 때문이다.
  2. GROUP BY로 부모 ID를 기준으로 그룹핑해 준다.
  3. ID를 기준으로 오름차순 정렬한다.
  4. 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