sql
SQL 프로그래머스 - 보호소에서 중성화한 동물
jyuuni
2023. 5. 30. 18:42
반응형
보호소에서 중성화한 동물
- 동물 보호소에 들어온 동물의 정보를 담은 ANIMAL_INS 테이블
ANIMAL_ID | ANIMAL_TYPE | DATETIME | INTAKE_CONDITION | NAME | SEX_UPON_INTAKE |
동물 ID | 동물 종 | 보호 시작일 | 보호 시작 시 상태 | 이름 | 성별 및 중성화 여부 |
- 동물 보호소에서 입양 보낸 동물의 정보를 담은 ANIMAL_OUTS 테이블
ANIMAL_ID | ANIMAL_TYPE | DATETIME | NAME | SEX_UPON_INTAKE |
동물 ID | 동물 종 | 입양일 | 이름 | 성별 및 중성화 여부 |
* ANIMAL_ID는 ANIMAL_INS의 ANIMAL_ID의 외래 키
문제
보호소에서 중성화 수술을 거친 동물 정보를 알아보려 합니다. 보호소에 들어올 당시에는 중성화[1]되지 않았지만, 보호소를 나갈 당시에는 중성화된 동물의 아이디와 생물 종, 이름을 조회하는 아이디 순으로 조회하는 SQL 문을 작성해주세요.
[1] 중성화를 거치지 않은 동물은 성별 및 중성화 여부에 Intact, 중성화를 거친 동물은 Spayed 또는 Neutered라고 표시되어있습니다.
문제 풀이
SELECT I.ANIMAL_ID, I.ANIMAL_TYPE, I.NAME
FROM ANIMAL_INS AS I RIGHT JOIN ANIMAL_OUTS AS O
ON I.ANIMAL_ID = O.ANIMAL_ID
WHERE I.SEX_UPON_INTAKE LIKE '%Intact%' AND O.SEX_UPON_OUTCOME REGEXP 'Spayed|Neutered'
ORDER BY I.ANIMAL_ID ASC
문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/59045
반응형