출처
문제
보호소에 들어올 당시에는 중성화1되지 않았지만, 보호소를 나갈 당시에는 중성화된 동물의 아이디와 생물 종, 이름을 조회하는 아이디 순으로 조회하는 SQL 문을 작성해주세요.
문제에 대한 해석
-- 보호소에 들어올 당시에는 중성화되지 않았지만, 보호소를 나갈 당시에는 중성화된
-- 아이디와 생물 종, 이름
-- 정렬 : 아이디
풀이(MYSQL)
with intack as (
select animal_id
from ANIMAL_INS
where SEX_UPON_INTAKE in('Intact Male','Intact Female')
) -- 보호시점에는 성별이 'Intact Male','Intact Female'중에 하나라도 포함된 경우
select o.animal_id, animal_type, name
from ANIMAL_OUTS o join intack i
on o.animal_id = i.animal_id
where SEX_UPON_OUTCOME in('Spayed Female', 'Neutered Male') -- 입양시점에는 성별이 'Spayed Female', 'Neutered Male'중에 하나라도 포함된 경우
order by o.animal_id
다른사람 풀이
SELECT AI.ANIMAL_ID
,AI.ANIMAL_TYPE
,AI.NAME
FROM ANIMAL_INS AS AI
JOIN ANIMAL_OUTS AS AO
ON AI.ANIMAL_ID = AO.ANIMAL_ID
WHERE AI.SEX_UPON_INTAKE LIKE 'INTACT%' -- 보호시에는 원래의 성별이지만
AND AO.SEX_UPON_OUTCOME NOT LIKE 'INTACT%' --입양시점에는 중성화 상태인
ORDER
BY ANIMAL_ID
배운점
좀더 직관적인 퀴리 고민
'문제풀이 > SQL(My sql)' 카테고리의 다른 글
[문제풀이] Leet code - Confirmation Rate (0) | 2024.06.26 |
---|---|
[문제풀이] 프로그래머스 - 대장균들의 자식의 수 구하기 (0) | 2024.06.26 |
[문제풀이] 프로그래머스 - 물고기 종류 별 대어 찾기 (0) | 2024.06.25 |
[문제풀이] 프로그래머스 - 특정 세대의 대장균 찾기 (0) | 2024.06.24 |
[문제풀이] 프로그래머스 - 연간 평가점수에 해당하는 평가 등급 (0) | 2024.06.24 |