본문 바로가기
SQL

[SQL] 프로그래머스 - 있었는데요 없었습니다

by 호강하는 지해 2024. 10. 31.
728x90

문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/59043?language=mysql

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

문제 요약

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

 

 

해결 방안

1. INNER JOIN을 사용하여 각자 두 테이블에서 animal_id가 같은 데이터를 가져온다. 그래야 보호 시작일, 입양일을 다 가져올 수 있다.

2. 그 중 보호 시작일이 입양일 보다 느리려면 보호 시작일의 수가 더 크면 된다.

3. ORDER BY를 사용하여 보호 시작일이 빠른 순으로 조회한다. 참고로 ASC가 기본값이라 써주지 않아도 ASC가 적용된다.

 

 

 

풀이

-- 코드를 입력하세요
SELECT ins.animal_id, ins.name
FROM animal_ins ins
JOIN animal_outs outs 
ON ins.animal_id = outs.animal_id
WHERE ins.datetime > outs.datetime
ORDER BY ins.datetime

 

 

728x90

'SQL' 카테고리의 다른 글

[SQL] JOIN  (1) 2024.10.31