본문 바로가기
코딩테스트/SQL

[SQL Lv4] 특정 세대의 대장균 찾기

by 박창준 2024. 11. 18.
 

프로그래머스

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

programmers.co.kr

문제 해석

3레벨 노드의 개체 ID를 출력하는 문제.

 

문제 해결

계층형 쿼리로 푸려고 했으나 SQL문법에서는 START WITH랑 CONNECT BY절을 지원하지 않아 JOIN으로 해결했다.

INNER JOIN으로 각 레벨별 계층을 만들어서 3레벨 노드랑 JOIN시키는 형태로 풀었다.

 

SELECT ED3.ID
FROM ECOLI_DATA AS ED1
INNER JOIN ECOLI_DATA AS ED2
ON ED1.ID = ED2.PARENT_ID AND ED1.PARENT_ID IS NULL
INNER JOIN ECOLI_DATA ED3
ON ED2.ID = ED3.PARENT_ID

댓글