EXISTS 演算子

サブクエリが1つ以上の行を返すかどうかをテストします。

参照項目:クエリ式(サブクエリ)

構文

<NOT> EXISTS (query-expression)

必須引数

query-expression

query 式を参照してください。

詳細

EXISTS演算子は、右オペランドがサブクエリになっている演算子です。EXISTS演算子の結果は、サブクエリが少なくとも1つの行を決定した場合、TRUEになります。NOT EXISTS演算子の結果は、サブクエリがゼロ行と評価した場合、TRUEになります。たとえば、次のクエリは、Payrollテーブルをサブセット化しています。これは、テーブル Staffのサブクエリの条件に基づいています。テーブルをクエリの結果から作成するを参照してください。Staff.Idnumの値がStaffの値CTと同じ行にある場合、PayrollのIdnumと一致するものが出力に含まれます。2つのテーブルを結合するを参照してください。そのため、クエリはCTに住んでいるすべての従業員をPayrollから返します。

proc sql;
   select *
     from payroll p
     where exists (select *
                      from staff s
                      where p.idnumber=s.idnum
                            and state='CT');
quit;
最終更新: 2026年4月14日