[mysql/oracle] 보호소에 중성화한 동물

2023. 9. 4. 16:55Programmers/SQL

문제 설명

 

문제

 

결과

 

mysql / oracle

1
2
3
4
5
6
SELECT A.ANIMAL_ID, A.ANIMAL_TYPE, A.NAME
FROM ANIMAL_INS A, ANIMAL_OUTS B
WHERE A.ANIMAL_ID = B.ANIMAL_ID
AND A.SEX_UPON_INTAKE LIKE 'Intact%' 
AND (B.SEX_UPON_OUTCOME LIKE 'Neutered%'OR B.SEX_UPON_OUTCOME LIKE 'Spayed%')
ORDER BY A.ANIMAL_ID
cs

 

중성화를 거치지 않은 동물 → 성별 및 중성화 여부 : Intact

중성화를 거친 동물 → 성별 및 중성화 여부 : Neutered / Spayed

 

보호소에 들어올 당시에는 Intact

A.SEX_UPON_INTAKE LIKE 'Intact%'

 

보호소를 나갈 때에는 Neuterd / Spayed 인 동물을 골라야 한다.

(B.SEX_UPON_OUTCOME LIKE 'Neutered%'OR B.SEX_UPON_OUTCOME LIKE 'Spayed%')

괄호로 묶어서 하나의 조건 안에 집어넣는다.

 

들어올 때 Intact이면서 나갈 때 Neutered인 동물들

+ 들어올 때 Intact이면서 나갈 때 Spayed인 동물들

로 처리한다.

 

만약 괄호로 묶지 않는다면

 

들어올 때 Intact인 동물들 

들어올 때 Intact이면서 나갈 때 Neutered인 동물들

+ 들어올 때는 뭐든 상관 없고 나갈 때 Spayed인 동물들

이 나온다.