문제 출저
https://school.programmers.co.kr/learn/courses/30/lessons/301650
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 풀이
3세대 대장균의 ID를 출력해야 합니다.
3세대를 알기 위해서는 2번의 JOIN을 거쳐야 합니다.
WITH을 사용하여 2세대를 구하고 이 WITH을 다시 사용하여 3세대를 구합니다.
SQL
WITH GENTWO AS (
SELECT CHILD.ID AS ID
FROM ECOLI_DATA AS CHILD
JOIN ECOLI_DATA AS PARENT ON CHILD.PARENT_ID = PARENT.ID
WHERE PARENT.PARENT_ID IS NULL
)
SELECT
CHILD.ID AS ID
FROM
ECOLI_DATA AS CHILD
JOIN
GENTWO AS PARENT ON CHILD.PARENT_ID = PARENT.ID
ORDER BY
ID