출처 : https://programmers.co.kr/learn/courses/30/lessons/59044
문제
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 종, 입양일, 이름, 성별 및 중성화 여부를 나타냅니다. ANIMAL_OUTS 테이블의 ANIMAL_ID는 ANIMAL_INS의 ANIMAL_ID의 외래 키입니다.
|
SELECT NAME, DATETIME
FROM ANIMAL_INS
WHERE ANIMAL_ID NOT IN
(
SELECT ANIMAL_ID
FROM ANIMAL_OUTS
)
ORDER BY DATETIME ASC
LIMIT 3
|
아직 입양못간 동물을 찾을때는 들어온 동물에서 나간 동물을 배면됩니다. 따라서 조건문에 ANIMAL_OUTS가 안들어간 동물을 찾고나서 ORDER BY 를 이용하여 보호 시작일 순으로 정렬을 한다음에 LIMIT를 이용하여 출력할 레코드 개수를 정하면 됩니다. ORACLE의 경우 LIMIT가 아니므로 따로 찾아보셔야 합니다. 따라서 위와같은 조건을 만족하는 SQL은 위와 같습니다. |
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
루시와 엘라 찾기 MySQL(프로그래머스) (0) | 2020.07.26 |
---|---|
보호소에서 중성화한 동물 MySQL(프로그래머스) (0) | 2020.07.25 |
있었는데요 없었습니다. MySQL(프로그래머스) (0) | 2020.07.23 |
없어진 기록 찾기 MySQL(프로그래머스) (1) | 2020.07.22 |
NULL 처리하기 MySQL(프로그래머스) (0) | 2020.07.21 |
댓글