테이블 구조
ANIMAL_INS
ANIMAL_OUTS
문제 설명
- ANIMAL_INS 테이블과 ANIMAL_OUTS 테이블을 연결해야 합니다.
- 보호소에 들어온 기록이 없는 동물의 ID와 NAME을 출력합니다.
- 이때 순서는 아이디 순으로 정렬합니다.
- 두 개의 테이블 연결 : 테이블 연결 JOIN
- ~이 없는 : 널(NULL)값 확인 IS NULL
- 아이디 순으로 정렬 : 정렬 ORDER BY
Solution
- ANIMAL_INS 테이블과 ANIMAL_OUTS 테이블을 불러옵니다.
- ANIMAL_OUTS의 ANIMAL_ID는 ANIMAL_INS의 외래키이므로 서로의 ID를 = 을 사용하여 연결시켜줍니다.
- ANIMAL_INS의 데이터가 유실되어 ANIMAL_OUTS이 기준이 되어야 합니다.
그러므로 ANIMAL_INS의 ID에 (+)를 주어 RIGHT OUTER JOIN이 되게 합니다.
+ 4~5 LINE은 위와 같이 바꾸어 쓸 수 있습니다.
- OUTER JOIN을 사용하게 되면 위와 같이 기준 테이블이 붙는 모양의 데이터가 출력됩니다.
- ANIMAL_INS에 널(NULL)값 확인 IS NULL을 사용하여 입양 간 기록은 있지만, 보호소에 들어온 기록은 없는 동물들을 조회하고, ORDER BY를 사용하여 데이터를 정렬시켜주면 됩니다.
출처
https://programmers.co.kr/learn/courses/30/lessons/59042
코딩테스트 연습 - 없어진 기록 찾기
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디
programmers.co.kr
'코딩 테스트 연습 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] DATETIME에서 DATE로 형 변환(Oracle, Lv2) (0) | 2022.04.18 |
---|---|
[프로그래머스] 중복 제거하기(Oracle, Lv2) (0) | 2022.04.05 |
[프로그래머스] 중성화 여부 파악하기(Oralce, Lv2) (0) | 2022.03.27 |
[프로그래머스] NULL 처리하기(Oracle, Lv2) (0) | 2022.03.15 |
[프로그래머스] 입양 시각 구하기(1) (Oracle, Lv2) (0) | 2022.03.02 |