프로그래머스 SQL

오랜기간 보호한 동물(2)

cosmohoo 2022. 7. 22. 21:37
반응형

문제 설명

예시

예를 들어, ANIMAL_INS 테이블과 ANIMAL_OUTS 테이블이 다음과 같다면

ANIMAL_INS

ANIMAL_IDANIMAL_TYPEDATETIMEINTAKE_CONDITIONNAMESEX_UPON_INTAKE

A354597 Cat 2014-05-02 12:16:00 Normal Ariel Spayed Female
A362707 Dog 2016-01-27 12:27:00 Sick Girly Girl Spayed Female
A370507 Cat 2014-10-27 14:43:00 Normal Emily Spayed Female
A414513 Dog 2016-06-07 09:17:00 Normal Rocky Neutered Male

ANIMAL_OUTS

ANIMAL_IDANIMAL_TYPEDATETIMENAMESEX_UPON_OUTCOME

A354597 Cat 2014-06-03 12:30:00 Ariel Spayed Female
A362707 Dog 2017-01-10 10:44:00 Girly Girl Spayed Female
A370507 Cat 2015-08-15 09:24:00 Emily Spayed Female

SQL문을 실행하면 다음과 같이 나와야 합니다.

ANIMAL_IDNAME

A362707 Girly Girl
A370507 Emily

※ 입양을 간 동물이 2마리 이상인 경우만 입력으로 주어집니다.


 

 

=> DATETIME형으로 계산을 할 수 있는지 묻는 문제였습니ㅏㄷ. 

=> DATETIME으로 계산을 하여 서브쿼리를 작성합니다. 

=> 서브쿼리에서 만들어진 임시테이블에서 원하는 값을 2개 추출합니다. 

 

select * 
from(
	select A.ANIMAL_ID, A.name
	from ANIMAL_INS  A, ANIMAL_OUTS  B 
	where A.ANIMAL_ID = B.ANIMAL_ID
	order by B.DATETIME-A.DATETIME desc
    )
where rownum <3;
반응형