IT/SQL 테스트

[SELECT] 특정 세대의 대장균 찾기 (MySQL)

자연산 금붕어 2025. 2. 5. 21:23

https://school.programmers.co.kr/learn/courses/30/lessons/301650

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

- 문제 :

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

 

- 풀이 :

  • 3중 쿼리문
    • 맨 안쪽 쿼리는 1세대 대장균
    • 1세대 대장균을 부모로 하는 2세대 대장균
    • 2세대 대장균을 부모로 하는 3세대 대장균의 id 찾기
-- ECOLI_DATA : ID, PARENT_ID, SIZE_OF_COLONY, DIFFERENTIATION_DATE, GENOTYPE

SELECT ID
FROM ECOLI_DATA
WHERE PARENT_ID IN (

    SELECT ID
    FROM ECOLI_DATA
    WHERE PARENT_ID IN (
    
        SELECT ID
        FROM ECOLI_DATA
        WHERE PARENT_ID IS NULL
        
    )
)
ORDER BY ID;

 

 

반응형