없어진 기록 찾기
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 내 풀이
-- 코드를 입력하세요
SELECT ANIMAL_ID, NAME
FROM ANIMAL_OUTS
WHERE ANIMAL_ID NOT IN
(SELECT ANIMAL_ID
FROM ANIMAL_INS)
ORDER BY 1
- 다른 사람 풀이
ANIMAL_OUTS 테이블에는 있는데, ANIMAL_INS 테이블에는 없는 동물들의 ID와 이름을 조회해야 합니다.
- 등장하는 개념
- JOIN, LEFT OUTER JOIN
입양을 간 기록은 존재한다고 하였으므로, JOIN 결과에는 ANIMAL_OUTS 데이터가 무조건 나와야함
-> JOIN 문 왼쪽에 ANIMAL_OUTS 테이블
ANIMAL_OUTS 와 ANIMAL_INS 를 ANIMAL_ID가 같은 것을 기준으로 LEFT OUTER JOIN
ANIMAL_ID가 같은 값이 ANIMAL_INS 테이블에 존재하지 않는다면, NULL 값으로 연결
SELECT OUTS.ANIMAL_ID, OUTS.NAME
FROM ANIMAL_OUTS OUTS
LEFT OUTER JOIN ANIMAL_INS INS
ON OUTS.ANIMAL_ID = INS.ANIMAL_ID
WHERE INS.ANIMAL_ID is NULL
ORDER BY OUTS.ANIMAL_ID
'코딩테스트 > SQL' 카테고리의 다른 글
| [SQL] 카테고리별 도서 판매량 집계하기 (0) | 2023.06.12 |
|---|---|
| [SQL] 조건에 맞는 사용자와 총 거래금액 조회하기 (0) | 2023.06.06 |
| [SQL][LIKE][GROUP BY] 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 (0) | 2023.04.14 |
| [SQL][JOIN] 조건에 맞는 도서와 저자 리스트 출력하기 (0) | 2023.04.11 |
| [SQL][JOIN] 상품 별 오프라인 매출 구하기 (0) | 2023.04.09 |