본문 바로가기
알고리즘/SQL

프로그래머스 Lv.3 대장균들의 자식의 수 구하기

by kyj0032 2024. 3. 30.

https://school.programmers.co.kr/learn/courses/30/lessons/299305

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

SELECT A.ID, IF(B.PARENT_ID IS NULL, 0, COUNT(A.ID)) AS CHILD_COUNT
FROM ECOLI_DATA AS A LEFT JOIN ECOLI_DATA AS B
    ON A.ID = B.PARENT_ID
GROUP BY A.ID
ORDER BY A.ID ASC

 

기억해둘 것

 

자식이 없는 ID를 0으로 표시하고 싶으면

1. LEFT JOIN으로 일단 A.ID는 만들어 놓기

2. IF(B.PARENT_ID IS NULL, 0, COUNT(A.ID)) 를 사용해서 만약 B.PARENT가 NULL이라면 0으로 표시하도록 한다