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

RGunny·2021년 6월 28일
0

algo

목록 보기
11/20

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

문제플랫폼난이도유형풀이 링크문제 링크
보호소에서 중성화한 동물Programmers고득점 키트SQL풀이문제

풀이

보호소에서 중성화 수술을 거친 동물 정보를 알아보려 합니다.
1. 보호소에 들어올 당시에는 중성화 되지 않았지만,
2. 보호소를 나갈 당시에는 중성화된 동물의 아이디와 생물 종, 이름
3. 아이디 순으로 조회하는 SQL 문을 작성해주세요.

SEX_UPON_INTAKE 컬럼을 살펴보면,
Intact : (하나도 손상되지 않고) 온전한, 전혀 다치지 않은 (=undamaged)
Spayed : (임신을 막기 위해 동물 암컷의) 난소를 제거[적출]하다.
와 같은 데이터가 들어 있습니다.

CASE 1:

중성화된 이후에 다시 원상태로 바뀔 수 있는 경우가 없으므로,
ANIMAL_INSANIMAL_OUTS에서 해당 내용이 바뀐 ROW를 찾으면 될 것 같습니다.

SELECT I.ANIMAL_ID, I.ANIMAL_TYPE, I.NAME
FROM ANIMAL_INS AS I
LEFT OUTER JOIN ANIMAL_OUTS AS O
    ON I.ANIMAL_ID = O.ANIMAL_ID
    WHERE I.SEX_UPON_INTAKE != O.SEX_UPON_OUTCOME
    ORDER BY I.ANIMAL_ID;

CASE 2:

문자열 내용 자체를 세세하게 비교하려면 다음과 같은 방법도 있습니다.

SELECT I.ANIMAL_ID, I.ANIMAL_TYPE, I.NAME
FROM ANIMAL_INS AS I
LEFT OUTER JOIN ANIMAL_OUTS AS O
    ON I.ANIMAL_ID = O.ANIMAL_ID
    WHERE I.SEX_UPON_INTAKE LIKE 'Intact%' 
    AND O.SEX_UPON_OUTCOME NOT LIKE 'Intact%' 
    ORDER BY I.ANIMAL_ID

0개의 댓글