카테고리 없음
[쿼리 공부] 상급 4 보호소에서 중성화한 동물(공식 JOIN 2, Like 연산)
Western_Gem
2020. 11. 19. 13:18
반응형
JOIN이 들어간 예제 공식적으로 두 번째입니다.
보호소에서 중성화 수술을 거친 동물 정보를 알아보려 합니다. 보호소에 들어올 당시에는 중성화 1 되지 않았지만, 보호소를 나갈 당시에는 중성화된 동물의 아이디와 생물 종, 이름을 조회하는 아이디 순으로 조회하는 SQL 문을 작성해주세요.
[해설]
간단해요. 'Intact'가 비 중성화 군이기 때문에 ins에서 I가 들어간 값 중에 outs와 값이 다른 값을 출력하면 됩니다.
Like 연산의 경우 varchar값에서 특정 문자열을 와일드카드 %를 써서 추적하는 코드입니다.
앞뒤에 쓰면 해당 문자가 들어간걸 찾으면 되구요.
뒤에 쓰면 해당 문자 뒤, 앞에 쓰면 앞 (가급적 뒤에만 써서 처리하라고 하네요. 퀵소트 버블소트 개념으로 보여요.)
[정답]
(Oracle/Mysql) 모범답안
SELECT i.animal_id, i.animal_type, i.name
from animal_ins i inner join animal_outs o
on i.animal_id = o.animal_id
where i.SEX_UPON_INTAKE != o.SEX_UPON_OUTCOME
and i.SEX_UPON_INTAKE like 'I%'
order by i.animal_id;
where 절을 잘 보시면 이해가 될 겁니다. 이해가 되리라 믿습니다.
끝
반응형