자격증고나리/⚽ SQLD 슈웃
[SQL] NOT EXISTS
병아리는삐약삐약
2023. 9. 6. 18:14
NOT EXISTS
주로 서브쿼리와 함께 사용되며 서브쿼리의 결과가 존재하지 않을 때 해당 조건을 만족하는 행을 검색하는 데 사용됨
(= 서브쿼리에 데이터가 존재하지 않을 경우 데이터가 조회된다.)
예를 들어,
주문(Order) 테이블에서 아직 발송되지 않은 주문을 선택하는 SQL 쿼리를 작성할 때,
SELECT OrderID, CustomerID
FROM Orders
WHERE NOT EXISTS (
SELECT 1
FROM Shipments
WHERE Shipments.OrderID = Orders.OrderID
);
여기서 SELECT 문에 1을 사용하면 해당 테이블의 개수만큼 1로 된 행을 출력
1은 TRUE를 의미하며 값의 존재유무(조건을 만족하는 결과가 있는지 여부)가 더 중요하기 때문에
간편하게 1을 적어줌
반대로,
EXISTS() 는 서브쿼리의 결과가 하나라도 참이면 TRUE 반환