https://school.programmers.co.kr/learn/courses/30/lessons/301650
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
[문제]
3세대의 대장균의 ID(ID) 를 출력하는 SQL 문을 작성해주세요. 이때 결과는 대장균의 ID 에 대해 오름차순 정렬해주세요.
[나의 풀이]
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;
[다른 풀이]
1) WITH절을 이용한 경우
WITH FirstGen AS (
SELECT ID
FROM ECOLI_DATA
WHERE PARENT_ID IS NULL
),
SecondGen AS (
SELECT ID
FROM ECOLI_DATA
WHERE PARENT_ID IN (SELECT ID FROM FirstGen)
)
SELECT ID
FROM ECOLI_DATA
WHERE PARENT_ID IN (SELECT ID FROM SecondGen)
ORDER BY ID;
2) JOIN을 이용한 경우
SELECT ED3.ID
FROM ECOLI_DATA AS ED1
INNER JOIN ECOLI_DATA AS ED2
ON ED1.ID = ED2.PARENT_ID AND ED1.PARENT_ID IS NULL
INNER JOIN ECOLI_DATA AS ED3
ON ED3.PARENT_ID = ED2.ID;
-출처
https://passionfruit200.tistory.com/1326
[SQL][프로그래머스]특정 세대의 대장균 찾기 - SUBQUERY + IN CTE MYSQL
https://school.programmers.co.kr/learn/courses/30/lessons/301650 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞
passionfruit200.tistory.com
'프로그래머스 > My SQL' 카테고리의 다른 글
💫멸종위기의 대장균 찾기 (0) | 2024.12.31 |
---|---|
상품을 구매한 회원 비율 구하기 (1) | 2024.12.30 |
연간 평가점수에 해당하는 평가 등급 및 성과금 조회하기 (1) | 2024.12.28 |
특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 (0) | 2024.12.27 |
자동차 대여 기록 별 대여 금액 구하기 (0) | 2024.12.26 |