SQL/SELECT
[프로그래머스 SQL] Lv.2 - 부모의 형질을 모두 가지는 대장균 찾기
이런개발
2025. 3. 1. 20:43
https://school.programmers.co.kr/learn/courses/30/lessons/301647
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제 풀이
- ECOLI_DATE 테이블을 자체 조인한다. PARENT_ID와 ID가 같은 행끼리 조인한다.
- 부모의 형질을 모두 보유한 행을 필터링한다. 필터링 조건은 부모의 형질을 모두 보유해야 하므로 부모와 자식의 형질끼리 AND 연산했을 때 부모의 형질과 같아야 한다.
- ID를 기준으로 오름차순 정렬한다.
- 대장균 ID, 대장균 형질, 부모 대장균 형질을 조회한다.
SELECT
sub.ID,
sub.GENOTYPE,
m.GENOTYPE AS PARENT_GENOTYPE
FROM
ECOLI_DATA sub
JOIN ECOLI_DATA m ON sub.PARENT_ID = m.ID
WHERE
(sub.GENOTYPE & m.GENOTYPE) = m.GENOTYPE
ORDER BY
1