노아

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

알고리즘/SQL

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

Noaahhh 2024. 9. 16. 17:39

 

Question

 

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

 

 

Pseudocode

 

 

  1. ANIMAL_INS 테이블과 ANIMAL_OUTS 테이블을 ANIMAL_ID로 조인.
  2. ANIMAL_INS 테이블에서 SEX_UPON_INTAKE가 'Intact'로 시작하는 행을 필터링.
  3. ANIMAL_OUTS 테이블에서 SEX_UPON_OUTCOME이 'Spayed' 또는 'Neutered'로 시작하는 행을 필터링.
  4. 필터링된 결과에서 ANIMAL_ID, ANIMAL_TYPE, NAME을 선택.
  5. ANIMAL_ID를 기준으로 오름차순 정렬.

 

 

 

Code

 

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 REGEXP ('^Intact') 
AND O.SEX_UPON_OUTCOME REGEXP('^Spayed|^Neutered')
ORDER BY I.ANIMAL_ID