없어진 기록 찾기 문제는 다음과 같다.




이번 문제를 풀기 위해선
1. 동물 ID와 이름 출력
2-1. 두 테이블 조인
2-2. 입양간 기록은 있으나 들어온 기록이 없는 동물 출력
3. 동물의 ID 기준으로 정렬
순으로 접근해야 한다.
우선 동물의 ID와 이름을 출력시키겠다.

다음으로는 두 테이블을 조인하겠다.
(해당 문제에서 원하는 출력조건은
입양간 기록은 있으나 들어온 기록은 없는 동물 찾기이다.
그러나 입양간 기록이 저장된 테이블과
들어온 기록이 저장된 테이블이 각각 따로 존재하니
조인을 통해 이를 하나의 테이블로 엮어주어야
원하는 조건을 검색할 수 있다.)
편의를 위해 ANIMAL_INS 테이블을 A로,
ANIMAL_OUTS 테이블을 B라는 별명으로 지정해주었다.
또한, 입양간 기록은 있고 들어온 기록이 없으니
동물의 ID와 이름은 ANIMAL_OUTS 테이블 컬럼값만 사용할 수 있다.
문제에서 각 테이블의 ANIMAL_ID가 기본키, 외래키로 사용한다고 명시되어 있으니
이를 활용하여 쿼리문을 적어주겠다.

여기서 자세히보면 조인이 평소 쓰던 내부조인이 아닌
오른쪽 조인임을 확인할 수 있는데
이는 입양간 기록(ANIMAL_OUTS)는 있으나
들어온 기록(ANIMAL_INS)은 없는 경우를 출력해달라고 하였기 때문이다.
작성한 쿼리문의 순서상 ANIMAL_INS는 왼쪽,
ANIMAL_OUTS는 오른쪽에 위치하며,
입양간 기록 전체가 출력되어 들어온 기록이 있는지에 관한
비교 대상이 되어 주어야 하기 때문에
오른쪽 조인을 사용해주어야 한다.
이제 입양간 기록은 있으나 들어온 기록은 없는
동물만 출력되도록 조건을 걸어주겠다.

마지막으로 동물의 ID를 기준으로 정렬해주겠다.

이제 정답인지 확인해보겠다.

정답이다.
'DB > 문제풀이' 카테고리의 다른 글
| [프로그래머스] 자동차 평균 대여 기간 구하기 -LV.2 (0) | 2023.03.03 |
|---|---|
| [프로그래머스] 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 -LV.2 (0) | 2023.02.28 |
| [프로그래머스] 조건에 맞는 도서와 저자 리스트 출력하기 -LV.2 (0) | 2023.02.21 |
| [프로그래머스]성분으로 구분한 아이스크림 총 주문량 -LV.2 (0) | 2023.02.20 |
| [프로그래머스] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 -LV.3 (0) | 2023.02.02 |