MYSQL 풀이

sql 공부를 시작한 지 얼마 되지 않아 효율적인 코드는 아닐 수도 있습니다.

더 좋은 풀이가 있을시 ! 공유해주시면 감사하겠습니다!

 

문제

풀이

animl_ins 테이블의 

name에 'el' 이 들어가는

animal_type 가 Dog인 

아이디와, 이름을 조회

결과는 이름순으로

 

 

SELECT animal_id, name 
from 
animal_ins 
where
animal_type = 'Dog' 
and 
name like '%el%'
order by 
name;

MYSQL 풀이

sql 공부를 시작한 지 얼마 되지 않아 효율적인 코드는 아닐 수도 있습니다.

더 좋은 풀이가 있을시 ! 공유해주시면 감사하겠습니다!

문제

출력은 id순으로

풀이


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;

MYSQL 풀이

sql 공부를 시작한 지 얼마 되지 않아 효율적인 코드는 아닐 수도 있습니다.

더 좋은 풀이가 있을시 ! 공유해주시면 감사하겠습니다!

문제

예시

풀이

중요 ***

중성화를 거치지 않은 동물은 intact

중성화가 된 동물은 Spayed, Neutered 라고 표시



문제 요약

보호소에 들어올 당시(animal_ins) 중성화가 되지 않았지만

보호소를 나갈 당시(animal_outs) 중성화가 된 동물을 출력

 

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;

 

+ Recent posts