프로그래머스(Oracle)
[프로그래머스 (Oracle)] 보호소에서 중성화한 동물
shs00925
2024. 10. 1. 16:35
코드 힌트
- 동물 입양 및 중성화 상태 매칭
- ANIMAL_INS 테이블에서 동물이 입양될 때 중성화되지 않은 상태(SEX_UPON_INTAKE LIKE 'Intact%')인 데이터를 찾고, ANIMAL_OUTS 테이블에서 해당 동물이 입양된 후 중성화된 상태(SEX_UPON_OUTCOME LIKE 'Spayed%' 또는 'Neutered%')로 기록된 데이터를 조인합니다.
- 동물 고유 ID 기준 정렬
- 결과는 ANIMAL_ID를 기준으로 정렬되며, 동물의 ID, 종류, 그리고 이름을 반환합니다.
- 조건을 충족하는 데이터만 반환
- 입양 시에는 중성화되지 않은 동물이었으나, 입양 후 중성화된 동물만 필터링하여 목록에 표시됩니다.
정답은 더보기 클릭
더보기
더보기
SELECT I.ANIMAL_ID, I.ANIMAL_TYPE, I.NAME
-- ANIMAL_INS 테이블에서 동물의 ID, 종류, 이름을 선택
FROM ANIMAL_INS I
JOIN ANIMAL_OUTS O
ON I.ANIMAL_ID = O.ANIMAL_ID
-- ANIMAL_INS와 ANIMAL_OUTS 테이블을 ANIMAL_ID 기준으로 JOIN
WHERE I.SEX_UPON_INTAKE LIKE 'Intact%'
-- 입양 당시 중성화되지 않은 동물(SEX_UPON_INTAKE이 'Intact%'로 시작하는 경우)
AND (O.SEX_UPON_OUTCOME LIKE 'Spayed%'
OR O.SEX_UPON_OUTCOME LIKE 'Neutered%')
-- 입양 후 중성화된 동물만 선택 (SEX_UPON_OUTCOME이 'Spayed%' 또는 'Neutered%'로 시작하는 경우)
ORDER BY ANIMAL_ID
-- 결과를 ANIMAL_ID 기준으로 정렬