3세대의 대장균의 ID(ID) 를 출력하는 SQL 문을 작성해주세요. 이때 결과는 대장균의 ID 에 대해 오름차순 정렬해주세요.
-- 1세대 2세대 3세대 뽑기
with first_eco as ( # 1세대
select id
from ecoli_data
where parent_id is null),
sec_eco as (
select e.id
from first_eco f #2세대
join ecoli_data e on e.parent_id = f.id)
select e.id
from sec_eco s
join ecoli_data e on e.parent_id = s.id
order by e.id
-- 4/23 다시 풀어봄

1세대 뽑아서 join 없이 서브쿼리로 한번에 비교하면 안되나?
된다!!! where parent_id in (select id from first_gen) 하믄 됨.
# 3세대 대장균출력 # parent_id -> null: 1세대 (1,2) # parent_id -> 1세대 (1,2) -> 2세대 (3,4,5) # parent_id -> 2세대 (3,4,5) -> 3세대 (6,7) with first_gen as ( select id from ecoli_data where parent_id is null) # 1,2 추출 ,second_gen as ( select id from ecoli_data where parent_id in (select id from first_gen)) select id from ecoli_data where parent_id in (select id from second_gen) order by id