반응형
테이블 정보
1. ANIMAL_INS
NAME | TYPE | NULLABLE |
ANIMAL_ID | VARCHAR(N) | FALSE |
ANIMAL_TYPE | VARCHAR(N) | FALSE |
DATETIME | DATETIME | FALSE |
INTAKE_CONDITION | VARCHAR(N) | FALSE |
NAME | VARCHAR(N) | TRUE |
SEX_UPON_INTAKE | VARCHAR(N) | FALSE |
2.ANIMAL_OUTS
NAME | TYPE | NULLABLE |
ANIMAL_ID | VARCHAR(N) | FALSE |
ANIMAL_TYPE | VARCHAR(N) | FALSE |
DATETIME | DATETIME | FALSE |
NAME | VARCHAR(N) | TRUE |
SEX_UPON_OUTCOME | VARCHAR(N) | FALSE |
예시 테이블
1. ANIMAL_INS
ANIMAL_ID | ANIMAL_TYPE | DATETIME | INTAKE_CONDITION | NAME | SEX_UPON_INTAKE |
A350276 | Cat | 2017-08-13 13:50 | Normal | Jewel | Spayed Female |
A381217 | Dog | 2017-07-08 9:41 | Sick | Cherokee | Neutered Male |
2.ANIMAL_OUTS
ANIMAL_ID | ANIMAL_TYPE | DATETIME | NAME | SEX_UPON_OUTCOME |
A350276 | Cat | 2018-01-28 17:51 | Jewel | Spayed Female |
A381217 | Dog | 2017-06-09 18:51 | Cherokee | Neutered Male |
문제
관리자의 실수로 일부 동물의 입양일이 잘못 입력되었습니다. 보호 시작일보다 입양일이 더 빠른 동물의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일이 빠른 순으로 조회해야합니다.
아이디어
- 보호 시작일보다 입양일이 더 빠른 = ANIMAL_INS의 DATETIME이 ANIMAL_OUTS의 DATETIME보다 크면
- 일단 두 테이블의 비교를 위해 JOIN을 진행해야 겠다.
- 결과는 보호 시작일이 빠른 순으로 조회 = ANIMAL_INS의 DATETIME 기준 오름차순 정렬
정답
-- 코드를 입력하세요
SELECT A.ANIMAL_ID, A.NAME
FROM ANIMAL_INS A
INNER JOIN ANIMAL_OUTS B
ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE A.DATETIME > B.DATETIME
ORDER BY A.DATETIME
참고사항
없음
728x90
반응형
'알고리즘 공부 > SQL' 카테고리의 다른 글
[L2] 프로그래머스 ORACLE 상품 별 오프라인 매출 구하기 (0) | 2024.10.18 |
---|---|
[L3] 프로그래머스 ORACLE 보호소에서 중성화한 동물 (0) | 2024.10.18 |
[L3] 프로그래머스 ORACLE 없어진 기록 찾기 (0) | 2024.10.18 |
[L4] 프로그래머스 ORACLE 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 (0) | 2024.10.18 |
[L2] 프로그래머스 ORACLE 가격이 제일 비싼 식품의 정보 출력하기 (1) | 2024.10.18 |