https://school.programmers.co.kr/learn/courses/30/lessons/301650
특정 세대의 대장균 찾기
3세대의 대장균의 ID(ID) 를 출력하는 SQL 문을 작성해주세요. 이때 결과는 대장균의 ID 에 대해 오름차순 정렬해주세요.
문제 풀이 SQL CODE
1. 1세대 ~ 3세대까지 연결을 짓기 위해 JOIN 함수를 사용해서 연결함.
(ex. 태초 ECOLI_DATA는 1세대 테이블(= gp)라고 인식, 두번째를 2세대 테이블(=p), 세번째를 3세대 테이블로 생각)
2. 그 중 1세대부터 이어진 3세대 대장균 ID를 출력해야하므로 1세대 테이블에서 PARENT_ID가 NULL 값인 데이터(부모 세대가 없는 ID 즉 1세대)면서 3세대 ID가 NULL 값이 아닌 3세대 ID만 추출
SELECT
e.ID AS ID
FROM ECOLI_DATA gp
LEFT JOIN ECOLI_DATA p ON gp.ID = p.PARENT_ID
LEFT JOIN ECOLI_DATA e ON p.ID = e.PARENT_ID
WHERE gp.PARENT_ID IS NULL AND e.ID IS NOT NULL
ORDER BY e.ID
다른 문제 보러가기
2024.12.06 - [Programmers(SQL 고득점 Kit)] - [MySQL] 프로그래머스 - 오프라인/온라인 판매 데이터 통합하기
2024.12.05 - [Programmers(SQL 고득점 Kit)] - [MySQL] 프로그래머스 - 서울에 위치한 식당 목록 출력하기 LEVEL 4
'Programmers(SQL 고득점 Kit) > LEVEL 4' 카테고리의 다른 글
[MySQL] 프로그래머스 - 년, 월, 성별 별 상품 구매 회원 수 구하기 LEVEL 4 (0) | 2024.12.18 |
---|---|
[MySQL] 프로그래머스 - 식품분류별 가장 비싼 식품의 정보 조회하기 LEVEL 4 (0) | 2024.12.11 |
[MySQL] 프로그래머스 - 저자 별 카테고리 별 매출액 집계하기 LEVEL 4 (0) | 2024.12.11 |
[MySQL] 프로그래머스 - 오프라인/온라인 판매 데이터 통합하기 LEVEL 4 (3) | 2024.12.06 |
[MySQL] 프로그래머스 - 서울에 위치한 식당 목록 출력하기 LEVEL 4 (0) | 2024.12.05 |