logo

SQL |存在します

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);>
  1. 出力:
  2. EXISTS とともに NOT を使用すると、注文をしていない顧客の姓と名を取得します。
SELECT lname, fname FROM Customers WHERE NOT EXISTS (SELECT * FROM Orders WHERE Customers.customer_id = Orders.c_id);>
  1. 出力:
  2. DELETE ステートメントで EXISTS 条件を使用する 姓が「Mehra」であるすべての顧客のレコードを注文テーブルから削除します。
DELETE FROM Orders WHERE EXISTS (SELECT * FROM customers WHERE Customers.customer_id = Orders.c_id AND Customers.lname = 'Mehra');>
SELECT * FROM Orders;>
  1. 出力:
  2. UPDATE ステートメントで EXISTS 条件を使用する Customer_id が 401 である Customer テーブル内の customer の lname を「Kumari」として更新します。
UPDATE Customers SET lname = 'Kumari' WHERE EXISTS (SELECT * FROM Customers WHERE customer_id = 401);>
SELECT * FROM Customers;>
  1. 出力: