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 |
---|