[프로그래머스] Lv.3 대장균들의 자식의 수 구하기 (OUTER JOIN)

[프로그래머스] Lv.3 대장균들의 자식의 수 구하기 (OUTER JOIN)
muaga's avatar
May 30, 2024
[프로그래머스] Lv.3 대장균들의 자식의 수 구하기 (OUTER JOIN)
Contents
풀이
 
notion image
notion image
 


SELECT PARENT.ID, COUNT(CHILD.ID) AS CHILD_COUNT FROM ECOLI_DATA AS PARENT LEFT OUTER JOIN ECOLI_DATA AS CHILD ON PARENT.ID = CHILD.PARENT_ID GROUP BY PARENT.ID ORDER BY ID
 

풀이


◽ LEFT OUTER JOIN

  1. ‘ID’와 ‘PARENT_ID’를 비교해서 ID와 PARENT_ID와 비교해서, ‘PARENT_ID’가 없을 ID를 생각해서 OUTER JOIN을 한다. 비교 대상은 ID가 자식의 PARENT_ID일 경우를 JOIN한다.
    1. SELECT PARENT.ID, CHILD.ID AS CHILD FROM ECOLI_DATA AS PARENT LEFT OUTER JOIN ECOLI_DATA AS CHILD ⭐ ON PARENT.ID = CHILD.PARENT_ID
      자식이 있는 만큼 중복되는 ID가 나온 것을 볼 수 있다.
      notion image
 
  1. 그 다음, 자식의 수를 찾기 위해 PARENT.ID그룹화 한 후, 자식 수를 COUNT 한다.
    1. SELECT PARENT.ID, COUNT(CHILD.ID) AS CHILD_COUNT FROM ECOLI_DATA AS PARENT LEFT OUTER JOIN ECOLI_DATA AS CHILD ON PARENT.ID = CHILD.PARENT_ID ⭐ GROUP BY PARENT.ID
      ID 별로 자식 수가 나오는 것을 볼 수 있다.
      notion image
 
Share article

muaga's Hub