본문 바로가기
JAVA/알고리즘

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

by hak0205 2024. 1. 20.
반응형

안녕하세요

프로그래머스 - 보호소에서 중성화한 동물 문제입니다.

 

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

 

프로그래머스

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

programmers.co.kr

-- 보호소에 들어올 당시에는 중성화되지않았지만 / 보호가 나갈시 중성화된 동물을 조회하세요
-- IN : intact -> OUT : spayed, Neutered
-- 1. 들어올때, 중성화되지 않은 동물을 찾는다.
-- 2. 1에서 찾은걸을 비교한다. (in, out table을 다른걸 조회한다.)
-- 3. 다른걸 출력한다

SELECT ANIMAL_ID, ANIMAL_TYPE, NAME
  FROM ANIMAL_OUTS B
  WHERE ANIMAL_ID IN (SELECT A.ANIMAL_ID  -- 중성화 되지 않은거                       
  FROM ANIMAL_INS A 
  WHERE SEX_UPON_INTAKE IN ('Intact Male','Intact Female'))
   AND SUBSTR(SEX_UPON_OUTCOME,1,6) !='Intact'

 

처음에는 중성화되지 않았지만 입양할갈때는 중성화된 동물을 찾는 문제입니다.

 

문제를 풀기전에 조건을 명확히 정리해보았습니다.

 

여기서 알아야할것은

1. 서브쿼리

2. SUBSTR

입니다.

 

1. 서브쿼리를 통해 ANIMAL_INS테이블에서 중성화가 안된동물들을(Intact Male, Intact Female) 찾습니다. 

2. 그 다음 조건인 ANIMAL_OUTS에서 중성화과 된 동물들을 찾습니다.

 

궁금한사항있으시면 댓글남겨주세요! 감사합니다.

 

 

반응형

댓글