[JOIN] 보호소에서 중성화한 동물

쥬쥬스·2023년 11월 13일
0

SQL

목록 보기
50/67
post-thumbnail

문제
보호소에서 중성화 수술을 거친 동물 정보를 알아보려 합니다. 보호소에 들어올 당시에는 중성화되지 않았지만, 보호소를 나갈 당시에는 중성화된 동물의 아이디와 생물 종, 이름을 조회하는 아이디 순으로 조회하는 SQL 문을 작성해주세요.
(중성화를 거치지 않은 동물은 성별 및 중성화 여부에 Intact, 중성화를 거친 동물은 Spayed 또는 Neutered라고 표시되어있습니다.)

💡 조건

  • animal_ins의 중성화 여부가 Intact 인 경우
  • animal_outs의 중성화 여부가 Intact 가 아닌 경우
  • 아이디와 생물 종, 이름을 조회, 아이디 순으로 정렬

sql 코드

select animal_outs.animal_id, animal_type, name
from animal_outs join
        (SELECT animal_id
        FROM animal_ins
        where sex_upon_intake like "intact%")as ins_animals
        on animal_outs.animal_id = ins_animals.animal_id
where sex_upon_outcome not like "intact%"
order by animal_outs.animal_id
  1. 서브쿼리 작성(animal_ins에서 중성화 여부가 Intact)
    • 서브쿼리 작성 후에 animal_id로 join
SELECT animal_id
        FROM animal_ins
        where sex_upon_intake like "intact%"
from animal_outs join
        (SELECT animal_id
        FROM animal_ins
        where sex_upon_intake like "intact%")as ins_animals
        on animal_outs.animal_id = ins_animals.animal_id
where sex_upon_outcome not like "intact%"
  1. join 후에 animal_outs에서는 중성화 여부가 Intact가 아닌경우
where sex_upon_outcome not like "intact%"
  1. animal_id로 오름차순
order by animal_outs.animal_id
profile
느려도... 꾸준히.....🐌

0개의 댓글