프로그래머스 Lv4 특정 세대의 대장균 찾기(MySQL)

vvo_ter·2024년 7월 14일
0

daily-sql

목록 보기
3/6
post-custom-banner

💻 문제

코딩테스트 연습 > SELECT > 특정 세대의 대장균 찾기

문제 설명

3세대의 대장균의 ID(ID) 를 출력하는 SQL 문을 작성해주세요. 이때 결과는 대장균의 ID 에 대해 오름차순 정렬해주세요.

테이블 설명

id, parent_id 칼럼을 가지는데, 최초 대장균 개체의 parent_id는 NULL 값입니다.


🔐 풀이

아이디어

3세대 대장균의 아이디를 조회하면 되므로 1세대 대장균 > 2세대 대장균 > 3세대 대장균을 조인을 통해 순서대로 구해줍니다.


👉 제출 코드

with first_gen as (
    select id
    from ecoli_data
    where parent_id is null
), second_gen as (
    select e.id
    from first_gen join ecoli_data e
    on first_gen.id = e.parent_id
)

select e.id
from second_gen join ecoli_data e
on second_gen.id = e.parent_id
order by 1

프로그래머스 Lv5 멸종위기의 대장균 찾기(MySQL)

  • 재귀 쿼리를 사용하여 각 세대를 구한다면 더 간단하게 풀이할 수 있습니다.
profile
's Coding Memory
post-custom-banner

0개의 댓글