
https://school.programmers.co.kr/learn/courses/30/lessons/59042#
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제분석
ANIMAL_INS에는 없고&&ANIMAL_OUTS에는 있는 동물의 ID와 NAME을 찾고, ID 오름차순ASC 정렬
"없는" 값을 어떻게 구하나 봤더니, WHERE NOT EXISTS를 이용한다.
WHERE NOT EXISTS : 특정 조건이 만족되지 않는 데이터를 필터링
SELECT Name
FROM Employees e
WHERE NOT EXISTS (
SELECT 1
FROM Departments d
WHERE e.DepartmentID = d.DepartmentID
);
예시코드 설명 : 서브 테이블 내부에, WHERE문을 "만족하지 않는" 값만 결과 테이블에 출력하는 구조임
NOT EXISTS : 해당 값이 "없는" 경우에 값을 테이블로 반환
해결과정
SELECT outs.ANIMAL_ID, outs.NAME
FROM ANIMAL_OUTS AS outs
WHERE NOT EXISTS(
SELECT ANIMAL_ID
FROM ANIMAL_INS AS ins
WHERE ins.ANIMAL_ID = outs.ANIMAL_ID
)
ORDER BY ANIMAL_ID ASC;

'알고리즘&PS > SQL' 카테고리의 다른 글
| [SQL] 프로그래머스 59045 보호소에서 중성화한 동물 (0) | 2025.01.17 |
|---|---|
| [SQL] 프로그래머스 59043 있었는데요 없었습니다 (0) | 2025.01.16 |
| [SQL] 프로그래머스 131533 상품 별 오프라인 매출 구하기 (0) | 2025.01.12 |
| [SQL] 프로그래머스 131118 서울에 위치한 식당 목록 출력하기 (2) | 2025.01.09 |
| [SQL] SQL 기초 문법 정리 (1) | 2025.01.08 |