[SQL 문제 풀기] 특정 세대의 대장균 찾기(301650)

lhs's avatar
Feb 25, 2025
[SQL 문제 풀기] 특정 세대의 대장균 찾기(301650)
 

1. 문제 풀이 아이디어

  • WITH 절을 사용하여 부모 ID가 NULL인 데이터를 first로 설정하고, first의 ID를 부모로 가지는 데이터를 second로 정의한 후, second의 ID를 부모로 가지는 데이터를 조회하여 문제를 해결한다.

2. 나의 정답 코드

WITH first AS ( SELECT * FROM ecoli_data WHERE parent_id IS NULL ), second AS ( SELECT * FROM ecoli_data WHERE parent_id IN (SELECT id FROM first) ) SELECT id FROM ecoli_data WHERE parent_id IN (SELECT id FROM second) ORDER BY id;

3. 정리

  • WITH first에서 부모 ID가 NULL인 데이터를 찾는다.
  • WITH second에서 first의 ID를 부모로 가지는 데이터를 찾는다.
  • SELECT에서 second의 ID를 부모로 가지는 데이터를 조회하여 정렬한다.
Share article

LHS's Study Space