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와 비교 후 조건에 일치하지 않는다면 레코드 반환, 일치한다면 다음 행으로 넘어간다.
'DB & SQL' 카테고리의 다른 글
MySQL INSERT INTO SELECT (0) | 2023.01.16 |
---|---|
MySQL ANY(SOME) / ALL (0) | 2023.01.16 |
My SQL 변수선언(ROWNUM) (0) | 2023.01.11 |
MySQL HAVING (0) | 2023.01.11 |
MySQL GROUP BY (0) | 2023.01.11 |