

* WITH는 SQL에서 일시적인 테이블을 만드는 기능
WITH NAME AS (
SELECT ...
FROM 테이블명
WHERE 조건
)
SELECT *
FROM CTE_NAME;
< 문제풀이 >
1️⃣ 1세대 찾기
-PARENT_ID가 NULL인 개체는 1세대
2️⃣ 2세대 찾기
-1세대 개체의 ID를 PARENT_ID로 가지는 개체가 2세대
3️⃣ 3세대 찾기
-2세대 개체의 ID를 PARENT_ID로 가지는 개체가 3세대
-3세대를 찾았으니 Order By 로 오름차순 정렬
WITH 1ST_GEN AS(
SELECT ID
FROM ECOLI_DATA
WHERE PARENT_ID IS NULL),
2ND_GEN AS(
SELECT ECOLI_DATA.ID, ECOLI_DATA.PARENT_ID
FROM ECOLI_DATA JOIN 1ST_GEN ON ECOLI_DATA.PARENT_ID = 1ST_GEN.ID
)
SELECT ECOLI_DATA.ID
FROM ECOLI_DATA JOIN 2ND_GEN ON ECOLI_DATA.PARENT_ID = 2ND_GEN.ID
ORDER BY ECOLI_DATA.ID ASC;
'💻 프로그래밍 > 프로그래머스' 카테고리의 다른 글
| 프로그래머스 - 12세 이하인 여자 환자 목록 출력하기 (0) | 2025.02.12 |
|---|---|
| 프로그래머스 - 인기있는 아이스크림 (0) | 2025.02.12 |
| 프로그래머스 - 대장균의 크기에 따라 분류하기 2 (0) | 2025.02.11 |
| 프로그래머스 - 부모의 형질을 모두 가지는 대장균 찾기 (0) | 2025.02.11 |
| 프로그래머스 - 특정 형질을 가지는 대장균 찾기 (0) | 2025.02.11 |