要素の存在をチェックします。
Synopsis
EXISTS select-statement
引数
select-statement 一般的に条件式を含む単純なクエリ。
概要
EXISTS 条件は指定されたテーブルをテストしますが、主として、テーブル内に 1 つ以上の行が存在するかどうかを調べます。EXISTS に続く SELECT 文は、何を含むかについてチェックされます。その節は多くの場合以下の形式です。
EXISTS (SELECT... FROM... WHERE...)
一般的な文は、以下のようになります。
SELECT name
     FROM Table_A
     WHERE EXISTS
     (SELECT *
          FROM Table_B
          WHERE Table_B.Number = Table_a.Number)
この例では、サブクエリによって指定された単独あるいは複数の行が存在するかどうかを、述語がテストします。
このテストは、UNION 文ではなく SELECT 文で実行しなければならないことに注意してください。
また、NOT EXISTS 節は、テーブル内に行が存在しないことをテストします。以下は、クエリが NOT EXISTS 節を照会する例です。
SELECT EmployeeName,Age
     FROM Employees
     WHERE NOT EXISTS (SELECT * FROM BonusTable
     WHERE NOT (BonusTable.Result = 'Positive'
     AND Employees.EmployeeNum = BonusTable.EmployeeNum))
これは、以下の FOR ALL 演算子の使用と同じです。
SELECT EmployeeName,Age
     FROM Employees
     WHERE FOR ALL BonusTable (BonusTable.Result='Positive'
     AND Employees.EmployeeNum=BonusTable.EmployeeNum)
関連項目
条件式 SELECT