Reference Guide > TDV Support for SQL Operators > Condition Operators > EXISTS and NOT EXISTS
 
EXISTS、NOT EXISTS
EXISTSキーワードは、サブクエリの結果に特定の行が存在するかどうかをテストします。 NOT EXISTSキーワードは、サブクエリの結果に特定の行が存在しないかどうかをテストします。
構文(EXISTS)
<source-expression>
WHERE EXISTS <subquery>
構文(存在しない)
<source-expression>
WHERE NOT EXISTS <subquery>
備考
EXISTSは、サブクエリで指定された条件下で行の存在をチェックします。行の実際の値は関係ありません。したがって、サブクエリのSELECT句は、すべての列を取得するためのSELECT *です。
サブクエリは、任意の数の行と列を返すことができます。
EXISTS条件が満たされ、NOT EXISTS条件がfalseの場合、サブクエリは少なくとも1つの行を返します。
サブクエリが行を返さない場合、EXISTS条件は満たされず、NOTEXISTS条件は真です。
サブクエリによって返される行にNULL値が含まれている場合でも、それらは無視されません。このような行は通常の行と見なされます。
例(EXISTS)
SELECT *
FROM /shared/examples/ds_inventory/suppliers
WHERE EXISTS (SELECT *
FROM /shared/examples/ds_inventory/purchaseorders
WHERE purchaseorders.SupplierID = 5)
例(存在しない)
SELECT *
FROM /shared/examples/ds_inventory/suppliers
WHERE NOT EXISTS (SELECT *
FROM /shared/examples/ds_inventory/purchaseorders
WHERE purchaseorders.SupplierID = 100)