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

방법 1
SELECT ANIMAL_ID, NAME
FROM ANIMAL_OUTS
MINUS
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS;
방법 2
SELECT ANIMAL_ID, NAME
FROM ANIMAL_OUTS
WHERE ANIMAL_ID NOT IN (SELECT ANIMAL_ID FROM ANIMAL_INS);
방법: OUT에는 있는데, IN에는 없는 ID를 OUT_ID 중 찾으면 된다.
방법 1의 경우, Oracle 용이라고 함. PostgreSQL은 EXCEPT, MySQL등은 지원하지 않는다고 한다. (MINUS는 차집합 함수)
따라서 방법 2의, SELECT 문으로 서브쿼리를 만들어 간단하게 해결한다면 어떤 DBMS에서도 문제가 되지 않는다.
'문제풀이 > SQL 문제풀이' 카테고리의 다른 글
| 프로그래머스/SQL - FrontEnd 개발자 찾기(비트 연산자 조인) (0) | 2025.10.18 |
|---|---|
| 프로그래머스/SQL - 그룹별 조건에 맞는 식당 목록 출력하기 (0) | 2025.10.18 |
| 프로그래머스/SQL - 물고기 종류 별 대어 찾기 (0) | 2025.10.10 |
| 프로그래머스/SQL - 연도별 대장균 크기의 편차 구하기 (0) | 2025.10.10 |
| 프로그래머스 / SQL - 대장균의 크기에 따라 분류하기 1(CASE WHEN) (0) | 2025.10.09 |