본문 바로가기
DB & SQL

MySQL EXISTS / NOT EXISTS

by pms93 2023. 1. 12.

EXISTS연산자는 서브쿼리를 통해 데이터 존재 유/무를 파악하여 실행된다.

SELECT SupplierName
FROM Suppliers
WHERE EXISTS (SELECT ProductName
                             FROM Products
                             WHERE Suppliers.SupplierID = Products.SupplierID AND
                                           Price > 10)

- Suppliers에 저장된 각 행을 Subquery와 비교 후 조건에 일치한다면 레코드 반환, 일치하지 않는다면 다음 행으로 넘어간다.

( W3Schools Demo Database 인용 )

 

앞에 NOT을 붙여 사용하면 EXISTS와 반대가 된다.

SELECT SupplierName
FROM Suppliers
WHERE NOT EXISTS (SELECT ProductName
                                      FROM Products
                                      WHERE Suppliers.SupplierID = Products.SupplierID AND
                                                     Price < 10)

- Suppliers에 저장된 각 행을 Subquery와 비교 후 조건에 일치하지 않는다면 레코드 반환, 일치한다면 다음 행으로 넘어간다.

(W3Schools Demo Database 인용 )

'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