728x90
반응형
728x90
문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/59043문제 요약
주어진 두 테이블 ANIMAL_INS와 ANIMAL_OUTS에서 보호소에 들어온 동물들 중에서 보호 시작일(DATETIME) 보다 입양일(DATETIME) 이 더 빠른 동물의 ANIMAL_ID와 NAME을 조회해야 합니다. 결과는 보호 시작일이 빠른 순서대로 정렬되어야 합니다.
풀이 방법
- INNER JOIN: 두 테이블 ANIMAL_INS와 ANIMAL_OUTS는 ANIMAL_ID를 통해 연결되어 있습니다. 따라서 두 테이블을 ANIMAL_ID를 기준으로 조인하여 보호 시작일과 입양일 정보를 모두 가져옵니다.
- 입양일 조건 필터링: 보호 시작일보다 입양일이 더 빠른 동물을 필터링해야 합니다. 즉, ANIMAL_INS.DATETIME이 ANIMAL_OUTS.DATETIME보다 나중이어야만 해당 데이터를 조회합니다.
- 결과 정렬: 결과는 보호 시작일이 빠른 순서대로 출력되어야 하므로, ANIMAL_INS.DATETIME을 기준으로 정렬합니다.
- 필요한 컬럼 선택: 최종적으로 ANIMAL_ID와 NAME만 출력해야 합니다.
정답 코드
-- 코드를 입력하세요
SELECT i.animal_id, i.name
from animal_ins as i JOIN animal_outs as o
ON i.animal_id = o.animal_id
where i.datetime > o.datetime
order by i.datetime asc
728x90
반응형
'코딩테스트 > SQL' 카테고리의 다른 글
[MySQL] 조건별로 분류하여 주문상태 출력하기 (0) | 2024.10.26 |
---|---|
[MySQL] 카테고리 별 도서 판매량 집계하기 (1) | 2024.10.25 |
[MySQL] - 오랜 기간 보호한 동물(2) (2) | 2024.10.18 |
[MySQL] - 대여 기록이 존재하는 자동차 리스트 구하기 (0) | 2024.10.18 |
[MySQL] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (0) | 2024.10.12 |