반응형

문제링크:programmers.co.kr/learn/courses/30/lessons/59043

 

코딩테스트 연습 - 있었는데요 없었습니다

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

관리자의 실수로 일부 동물의 입양일이 잘못 입력되었습니다. 보호 시작일보다 입양일이 더 빠른 동물의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일이 빠른 순으로 조회해야합니다.

 

 

 

조인을 통해서 문제를 해결해야 합니다.

보호시작일과 입양일을 비교하면 되는 문제입니다.

어떤 조인을 선택해야할지 고민했는데 생각해보니 left, right, inner 전부 가능합니다.

 

두 교집합을 출력하는 문제이기 때문입니다. 

 

 

 

아래는 2개의 정답 코드입니다.

-- 코드를 입력하세요
select a.ANIMAL_ID, a.NAME
from ANIMAL_OUTS as a
inner join ANIMAL_INS as b on a.ANIMAL_ID = b.ANIMAL_ID
where a.DATETIME < b.DATETIME
order by b.DATETIME
-- 코드를 입력하세요
/*
SELECT 
  a.ANIMAL_ID, 
  a.NAME 
 FROM ANIMAL_OUTS AS a
 LEFT OUTER JOIN ANIMAL_INS AS I ON I.ANIMAL_ID = a.ANIMAL_ID 
WHERE  I.datetime > a.datetime
ORDER BY I.datetime;
*/
반응형

+ Recent posts