알고리즘 공부/SQL

[L3] 프로그래머스 ORACLE 없어진 기록 찾기

마달랭 2024. 10. 18. 15:56
반응형

테이블 정보

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
A352713 Cat 2017-04-13 16:29 Normal Gia Spayed Female
A350375 Cat 2017-03-06 15:01 Normal Meo Neutered Male

 

 

2. ANIMAL_OUTS 

ANIMAL_ID ANIMAL_TYPE DATETIME NAME SEX_UPON_OUTCOME
A349733 Dog 2017-09-27 19:09 Allie Spayed Female
A352713 Cat 2017-04-25 12:25 Gia Spayed Female
A349990 Cat 2018-02-02 14:18 Spice Spayed Female

 

문제

천재지변으로 인해 일부 데이터가 유실되었습니다. 입양을 간 기록은 있는데, 보호소에 들어온 기록이 없는 동물의 ID와 이름을 ID 순으로 조회하는 SQL문을 작성해주세요.

 

 

아이디어

  1. 입양을 간 기록은 있는데, 보호소에 들어온 기록이 없는 동물 = LEFT JOIN 후 NULL값인걸 찾으면 될듯?
  2. 정렬은 ANIMAL_ID를 오름차순 기준으로 하자

 

정답

-- 코드를 입력하세요
SELECT A.ANIMAL_ID, A.NAME
FROM ANIMAL_OUTS A
LEFT JOIN ANIMAL_INS B
ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE B.ANIMAL_ID IS NULL
ORDER BY 1

 

 

 

참고사항

없음

 

728x90
반응형