728x90
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
재귀 쿼리를 사용해서 3세대 대장균의 ID를 조회하면 되는 문제다.
전에 공부했던 재귀 쿼리 사용법을 통해 풀 수 있었다.
풀이 코드
# 재귀
WITH RECURSIVE RC AS (
# 초기 조건
SELECT ID, PARENT_ID, 1 AS GEN
FROM ECOLI_DATA
WHERE PARENT_ID IS NULL
UNION ALL
# 재귀
SELECT ECOLI_DATA.ID, ECOLI_DATA.PARENT_ID, RC.GEN + 1
FROM RC JOIN ECOLI_DATA ON RC.ID = ECOLI_DATA.PARENT_ID
WHERE RC.GEN < 3
)
# 3세대 대장균의 ID 출력
SELECT ID
FROM RC
WHERE GEN = 3
ORDER BY 1
728x90
'알고리즘 > SQL' 카테고리의 다른 글
[프로그래머스] 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 (0) | 2024.07.16 |
---|---|
[프로그래머스] 자동차 대여 기록 별 대여 금액 구하기 (0) | 2024.07.11 |
[프로그래머스] 입양 시각 구하기(2) (0) | 2024.07.08 |
[프로그래머스] 우유와 요거트가 담긴 장바구니 (0) | 2024.07.01 |
[프로그래머스] 년, 월, 성별 별 상품 구매 회원 수 구하기 (0) | 2024.06.27 |