DB & SQL
MySQL EXISTS / NOT EXISTS
pms93
2023. 1. 12. 14:57
EXISTS연산자는 서브쿼리를 통해 데이터 존재 유/무를 파악하여 실행된다.
SELECT SupplierName
FROM Suppliers
WHERE EXISTS (SELECT ProductName
FROM Products
WHERE Suppliers.SupplierID = Products.SupplierID AND
Price > 10)
- Suppliers에 저장된 각 행을 Subquery와 비교 후 조건에 일치한다면 레코드 반환, 일치하지 않는다면 다음 행으로 넘어간다.

앞에 NOT을 붙여 사용하면 EXISTS와 반대가 된다.
SELECT SupplierName
FROM Suppliers
WHERE NOT EXISTS (SELECT ProductName
FROM Products
WHERE Suppliers.SupplierID = Products.SupplierID AND
Price < 10)
- Suppliers에 저장된 각 행을 Subquery와 비교 후 조건에 일치하지 않는다면 레코드 반환, 일치한다면 다음 행으로 넘어간다.
