https://school.programmers.co.kr/learn/courses/30/lessons/59045
처음에 생각한 쿼리는 다음과 같다.
WITH info AS (
SELECT o.animal_id,
i.sex_upon_intake,
o.sex_upon_outcome
FROM animal_outs o
LEFT JOIN animal_ins i ON o.animal_id = i.animal_id
WHERE i.sex_upon_intake LIKE '%intact%'
AND (o.sex_upon_outcome LIKE ('%spayed%') OR
o.sex_upon_outcome LIKE ('%neutered%'))
) -- 중성화한 동물을 서브쿼리로 작성
SELECT o.animal_id, o.animal_type, o.name
FROM animal_outs o
LEFT JOIN info ON o.animal_id = info.animal_id
WHERE info.animal_id IS NOT NULL -- info에 animal_id를 가지고 있는 경우만 필터링
ORDER BY animal_id
WITH를 사용하지 않고도 풀 수 있는 문제이긴 하다.
SELECT o.animal_id,o.animal_type, o.name
FROM animal_outs o
LEFT JOIN animal_ins i ON o.animal_id = i.animal_id
WHERE i.sex_upon_intake LIKE '%intact%'
AND (o.sex_upon_outcome LIKE ('%spayed%') OR
o.sex_upon_outcome LIKE ('%neutered%'))
ORDER BY animal_id
'SQL > 문제풀이' 카테고리의 다른 글
[HakcerRank] Type of Triangle (0) | 2024.02.14 |
---|---|
[프로그래머스] 상품을 구매한 회원 비율 구하기 📌 (0) | 2024.02.13 |
[프로그래머스] 그룹별 조건에 맞는 식당 목록 출력하기 📌 (0) | 2024.02.12 |
[프로그래머스] 5월 식품들의 총매출 조회하기 (0) | 2024.02.12 |
[프로그래머스] 입양 시각 구하기 (2) (0) | 2024.02.12 |