SQL의 EXISTS 조건은 상관 중첩 쿼리의 결과가 비어 있는지(튜플이 포함되지 않음) 여부를 확인하는 데 사용됩니다. EXISTS의 결과는 부울 값 True 또는 False입니다. SELECT, UPDATE, INSERT 또는 DELETE 문에서 사용할 수 있습니다. 통사론:
SELECT column_name(s) FROM table_name WHERE EXISTS ( SELECT column_name(s) FROM table_name WHERE condition);>
예: 고객과 주문이라는 두 가지 관계를 생각해 보세요.
쿼리
- SELECT 문과 함께 EXISTS 조건을 사용하여 하나 이상의 주문을 한 고객의 이름과 성을 가져옵니다.
SELECT fname, lname FROM Customers WHERE EXISTS (SELECT * FROM Orders WHERE Customers.customer_id = Orders.c_id);>
- 산출:
SELECT lname, fname FROM Customers WHERE NOT EXISTS (SELECT * FROM Orders WHERE Customers.customer_id = Orders.c_id);>
- 산출:
DELETE FROM Orders WHERE EXISTS (SELECT * FROM customers WHERE Customers.customer_id = Orders.c_id AND Customers.lname = 'Mehra');>
SELECT * FROM Orders;>
- 산출:
UPDATE Customers SET lname = 'Kumari' WHERE EXISTS (SELECT * FROM Customers WHERE customer_id = 401);>
SELECT * FROM Customers;>
- 산출: