select animal_id, name, sex_upon_intake
from
animal_ins
where
name
in ('Lucy','Ella','Pickle','Rogan','Sabrina','Mitty')
order by animal_id;
또는
select animal_id, name, sex_upon_intake
from
animal_ins
where
name = 'Lucy' or
name = 'Ella' or
name = 'Pickle' or
name= 'Rogan' or
name = 'Sabrina' or
name = 'Mitty'
order by animal_id;
1. animal_ins 테이블과 animal_outs 테이블엔 intact, Spayed, Neutered 가 모두 섞여있음.
2. animal_ins 테이블의 intact intact 상태의 동물들이 animal_outs 에서 중성화가 된(Spayed, Neutered) 동물들을 찾아야 함.
3. 상식적으로 중성화가 된 동물에게 다시 .. 붙여줄 수 없음 .. 그것을.. (신이라면.. 가능?)
4. animal_ins 테이블의 sex_upon_intake 컬럼의 상태와
animal_outs 테이블의 sex_upon_outcome 의 상태가 변해있으면 중성화가 완료.
sex_upon_intake <> sex_upon_outcome 의 상태가 같지 않다면 중성화 완료 .
5. 출력은 animal_id 순으로
귀찮지만 as 별칭 모두 사용.
select
b.animal_id as animal_id,
b.animal_type as animal_type,
b.name as name
from
animal_ins as a
right join -- (animal_outs 테이블을 기준으로)
animal_outs as b
on
a.animal_id = b.animal_id
where
a.sex_upon_intake <> b.sex_upon_outcome -- (4번 )
order by
b.animal_id; -- (5번. b.animal_id의 기준으로 출력)
아래는 복붙용 한줄코드
select b.animal_id as animal_id, b.animal_type as animal_type, b.name as name from animal_ins as a right join animal_outs b on a.animal_id = b.animal_id where a.sex_upon_intake <> b.sex_upon_outcome order by b.animal_id;