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);>
例: 次の 2 つの関係、顧客と注文について考えてみましょう。
クエリ
- SELECT ステートメントで EXISTS 条件を使用して、少なくとも 1 つの注文を行った顧客の姓名を取得します。
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;>
- 出力: