노아
[프로그래머스] 특정 세대의 대장균 찾기 본문
Question
3세대의 대장균의 ID(ID) 를 출력하는 SQL 문을 작성해주세요. 이때 결과는 대장균의 ID 에 대해 오름차순 정렬해주세요.
Pseudocode
- 테이블 간 조인:
- ecoli_data 테이블을 세 번 각각 e1, e2, e3로 참조하여 자기 자신과 조인합니다.
- e1은 부모 개체, e2는 e1의 자식 개체, e3는 e2의 자식 개체로 설정됩니다.
- 조건 설정:
- e1.parent_id IS NULL 조건을 사용하여 e1이 부모가 없는 최상위 개체인 경우만 조회합니다.
- 결과 반환:
- e3.id 값을 반환하여 e1 → e2 → e3의 트리 구조에서 손자 개체에 해당하는 개체의 ID만을 출력합니다.
Code
SELECT e3.id
FROM ecoli_data e1
JOIN ecoli_data e2
ON e1.id = e2.parent_id
JOIN ecoli_data e3
ON e2.id = e3.parent_id
WHERE e1.parent_id IS NULL
'알고리즘 > SQL' 카테고리의 다른 글
[프로그래머스] 연도별 대장균 크기의 편차 구하기 (0) | 2024.09.20 |
---|---|
[프로그래머스] 조건에 맞는 개발자 찾기 (0) | 2024.09.20 |
[프로그래머스] 입양 시각 구하기(2) (2) | 2024.09.20 |
[프로그래머스] 업그레이드 된 아이템 구하기 (0) | 2024.09.20 |
[프로그래머스] 물고기 종류 별 대어 찾기 (0) | 2024.09.20 |