본문 바로가기

Algorithm/프로그래머스

[SQL] 보호소에서 중성화한 동물

https://school.programmers.co.kr/learn/courses/30/lessons/59045

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

1. 해결방법

1. 보호소를 나간 애완동물을 기준이기 때문에 OUTS을 기준으로 INS를 left outer join한다.
2. 보호소에 왔을 때는 중성화가 아니지만 나갈 때는 중성화가 된 상태여야한다. -> 즉, INS의 중성화 데이터와 OUTS의 중성화 데이터가 다르다면 그 애완동물은 보호소에서 중성화 수술을 한 동물이 된다.
3. 동물 번호 기준으로 오름차순.

 

 

2. 정답코드

select OUTS.ANIMAL_ID, OUTS.ANIMAL_TYPE, OUTS.NAME
from ANIMAL_OUTS as OUTS
left outer join ANIMAL_INS as INS
on OUTS.ANIMAL_ID = INS.ANIMAL_ID
where INS.SEX_UPON_INTAKE != OUTS.SEX_UPON_OUTCOME
order by OUTS.ANIMAL_ID asc;