문제풀이/SQL

[프로그래머스]JOIN - 보호소에서 중성화한 동물

빈둥벤둥 2021. 3. 1. 15:39

[프로그래머스]보호소에서 중성화한 동물

programmers.co.kr/learn/courses/30/lessons/59045

 

코딩테스트 연습 - 보호소에서 중성화한 동물

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

풀이

  1. 보호소에 들어왔을 때의 SET_UPON_INTAKE와 입양 갈 때의 SET_UPON_OUTCOME이 다른 동물의 정보를 출력하면 된다.
  2. 보호소에 들어왔을때는 Intact로 시작했다가 보호소에서 나갈 때는 Spayed 또는 Neutered인 동물의 정보를 출력하면 된다.

 

코드

방법1

1
2
3
4
5
SELECT I.ANIMAL_ID, I.ANIMAL_TYPE, I.NAME
FROM ANIMAL_INS I, ANIMAL_OUTS O
WHERE I.ANIMAL_ID = O.ANIMAL_ID
    AND I.SEX_UPON_INTAKE != O.SEX_UPON_OUTCOME
ORDER BY I.ANIMAL_ID;
cs
 
방법2
1
2
3
4
5
6
SELECT I.ANIMAL_ID, I.ANIMAL_TYPE, I.NAME
FROM ANIMAL_INS I, ANIMAL_OUTS O
WHERE I.ANIMAL_ID = O.ANIMAL_ID
    AND I.SEX_UPON_INTAKE LIKE 'Intact%'
    AND (O.SEX_UPON_OUTCOME LIKE 'Spayed%' OR O.SEX_UPON_OUTCOME LIKE 'Neutered%')
ORDER BY ANIMAL_ID
cs