해피 코딩!

[프로그래머스] SQL 코딩테스트 레벨3 본문

SQL

[프로그래머스] SQL 코딩테스트 레벨3

지속가능한 성장을 2020. 12. 22. 13:25

없어진 기록 찾기

문제 풀이

mysql

select animal_id, name 
from animal_outs
where animal_id not in (select animal_id from animal_ins)
# 여기서 왜 where name not in (select name from animal_ins) 이 안되는지 궁금하다.

oracle

select animal_id, name from animal_outs
minus
select animal_id, name from animal_ins

있었는데요 없었습니다

mysql, oracle

# 보호 시작일보다 입양일이 더 빠른 동물의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 
# 이때 결과는 보호 시작일이 빠른 순으로 조회해야합니다.

select animal_ins.animal_id, animal_ins.name
from animal_ins, animal_outs
where (animal_ins.animal_id = animal_outs.animal_id) and (animal_ins.datetime > animal_outs.datetime)
order by animal_ins.datetime

오랜기간 보호한 동물1

select name, datetime
from animal_ins
where animal_id not in (select animal_id from animal_outs)
order by datetime limit 3

오랜기간 보호한 동물2

select animal_ins.animal_id, animal_ins.name
from animal_ins, animal_outs
where (animal_ins.animal_id = animal_outs.animal_id)
order by animal_ins.datetime-animal_outs.datetime limit 2

'SQL' 카테고리의 다른 글

SQL의 실행 순서  (0) 2020.12.23
[SQL] JOIN  (0) 2020.12.22
[SQL] case 문을 사용한 조권부 쿼리 작성  (0) 2020.12.21
[SQL] NULL 체크 함수  (0) 2020.12.21
[프로그래머스] SQL 코딩테스트 레벨 2  (0) 2020.12.20
Comments