📊 Algorithm&SQL

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

오늘 ONEUL 2023. 5. 9. 23:22

 

문제

 

 

 

풀이

(1) 문제 분석하기

  • 보호소에서 중성화 수술을 거친 동물
    ⇒ JOIN을 이용
    첫 번째 풀이 : 보호소 들어오기 전 성별 및 중성화 여부는 'Instact' 이고(AND), 입양 간 후 성별 및 중성화 여부는 'Spayed' 이거나(OR), 'Nectuered'인 동물
    두 번째 풀이 : 보호소에 들어오기 전과 입양을 간 후의 중성화 여부가 달라진(들어오기 전 != 나간 후) 동물
  • 아이디 기준 정렬
    ⇒ ORDER BY 동물 아이디

 

(2) 쿼리 구현하기

🔸 첫 번째 풀이

SELECT I.ANIMAL_ID, I.ANIMAL_TYPE, I.NAME
FROM ANIMAL_INS I
JOIN ANIMAL_OUTS O
ON I.ANIMAL_ID = O.ANIMAL_ID
WHERE I.SEX_UPON_INTAKE LIKE 'Intact%'
AND (O.SEX_UPON_OUTCOME LIKE 'Spayed%'
     OR O.SEX_UPON_OUTCOME LIKE 'Neutered%')
ORDER BY I.ANIMAL_ID

입양 전 중성화 여부는 'Intact ~' 이고, 입양 후  'Spayed ~' 이거나 'Neuterred ~'인 동물

 

🔸 두 번째 풀이

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

입양 전과 입양 후의 중성화 여부가 다른 동물

 

 

 

 

 

프로그래머스

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

programmers.co.kr