https://school.programmers.co.kr/learn/courses/30/lessons/59042
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
# NOT EXISTS 사용하기
SELECT O.ANIMAL_ID, O.NAME
FROM ANIMAL_OUTS O
WHERE NOT EXISTS
(SELECT 1
FROM ANIMAL_INS I
WHERE I.ANIMAL_ID = O.ANIMAL_ID
)
ORDER BY ANIMAL_ID, NAME
SELECT 1의 의미
- SELECT 1은 ANIMAL_INS 테이블에 O.ANIMAL_ID와 같은 ANIMAL_ID가 존재하는지 확인하는 용도로 사용됩니다.
- 이 구문에서 1은 실제로 반환되거나 사용되는 값이 아니라, 단지 행이 존재한다는 사실을 표현하는 자리표시자입니다.
- SQL 엔진은 SELECT 1 대신 SELECT *를 사용해도 결과는 동일합니다. 하지만 1을 사용하는 이유는 단순히 존재 여부만 확인하기 때문에 최적화된 형태로 사용됩니다.
'프로그래머스 SQL kit' 카테고리의 다른 글
[STRING/DATE] 카테고리 별 상품 개수 구하기/SUBSTRING() (1) | 2024.11.01 |
---|---|
[SELECT] 오프라인/온라인 판매 데이터 통합하기 / UNION과 JOIN차이 (0) | 2024.11.01 |
[SUM,MAX,MIN] 연도별 대장균 크기의 편차 구하기/JOIN절/YEAR() (1) | 2024.10.29 |
[SUM,MAX,MIN] 물고기 종류 별 대어 찾기/WHERE-IN절/DENSE_RANK (0) | 2024.10.29 |
[SUM,MAX,MIN] 중복 제거하기 / DISTINCT사용법 (1) | 2024.10.29 |