[프로그래머스(Programmers)][SQL] JOIN (Lv4) 보호소에서 중성화한 동물

728x90

 

https://programmers.co.kr/learn/courses/30/lessons/59045?language=mysql 

 

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

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

programmers.co.kr

 

 

보호소에 들어올 당시에는 중성화되지 않았지만, 보호소를 나갈 당시에는 중성화된 동물아이디와 생물 종, 이름아이디 순으로 조회하는 SQL 문

 

<  성별 중성화 여부 ( SEX_UPON_INTAKE )  값  >

-  중성화를 거치지 않은 동물  :  Intact
-  중성화를 거친 동물  :  Spayed  또는  Neutered

 

#  LIKE  +  '<>'

SELECT ANIMAL_ID, OUTS.ANIMAL_TYPE, OUTS.NAME
FROM ANIMAL_INS INS JOIN ANIMAL_OUTS OUTS
USING ( ANIMAL_ID )
WHERE SEX_UPON_INTAKE LIKE 'Intact%' AND SEX_UPON_INTAKE <> SEX_UPON_OUTCOME
ORDER BY ANIMAL_ID;

 

#  REGEXP_LIKE( )

SELECT ANIMAL_ID, OUTS.ANIMAL_TYPE, OUTS.NAME
FROM ANIMAL_INS INS JOIN ANIMAL_OUTS OUTS
USING ( ANIMAL_ID )
WHERE REGEXP_LIKE( INS.SEX_UPON_INTAKE, 'Intact' ) AND REGEXP_LIKE( OUTS.SEX_UPON_OUTCOME, 'Neutered|Spayed' )
ORDER BY ANIMAL_ID;

 

  ※  REGEXP_LIKE( )

 

 

반응형