프로그래머스 SQL kit

[SELECT] 대장균들의 자식의 수 구하기/ 셀프조인/ COALESCE -> 다시 풀기 연습

정호나 2024. 12. 27. 18:28

📕 문제

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

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

 

 

📄 내가 생각한 풀이

 

1. SELF JOIN

 

부모-자식의 관계를 알기위해


ON 조건:  부모-자식 
ECOLI_DATA.ID = ECOLI_DATA.PARENT_ID


부모쪽 테이블 : ID, 그룹화, 정렬(ID 가 부모쪽이기에)
자식쪽 테이블 : 자식의 수 카운트

 

 

#셀프조인 예시
SELECT A.column1, B.column1
FROM table_name A
JOIN table_name B
ON A.some_column = B.some_column;

 

 

주의) 별칭 사용 헷갈리지 않도록 구분하며 주의하기

 

 

2. COALESCE(A, 0) -> A가 NULL이면 0으로 대체

 

자식이 없다면 자식의 수는 0으로 출력해주세요

-> coalesce함수 사용

 

여러 인수를 받아, 첫 번째로 NULL이 아닌 값을 반환.

 

💻 내 코드

 

//

 

💻 답안

SELECT P.ID, COALESCE(COUNT(C.PARENT_ID),0) AS CHILD_COUNT 
FROM ECOLI_DATA P
LEFT JOIN ECOLI_DATA C 
ON P.ID = C.PARENT_ID
GROUP BY P.ID
ORDER BY P.ID

 

📁 참고자료

 

☺️ 새로 알게 된 지식

 

 

😉 리뷰