SQL EXISTS | ||
SQL > SQL コマンド > EXISTS
EXISTS は、内部クエリがどのかたまりを返すかをテストするためにサブクエリで使用されるブール演算子です。内部クエリが何かを返す場合、外部クエリが進行します。それでない場合、外部クエリは実行されず、SQLステートメント全体は何も返しません。 構文EXISTS の構文は次のとおりです:: SELECT "フィールド名1"
FROM "テーブル名1" WHERE EXISTS (SELECT * FROM "テーブル名2" WHERE "条件"); 内部クエリでは*の代わりに、1つまたは複数の列を選択できることに注意してください。その効果は同じです。 例私たちの例では、以下のテーブルを使用します。 Store_Information テーブル
Geography テーブル
次の SQL クエリは、 SELECT SUM(Sales) FROM Store_Information
WHERE EXISTS (SELECT * FROM Geography WHERE Region_Name = 'West'); 以下の結果を生成します:
最初はこれが混乱して見えるかもしれません。サブクエリには [region_name = 'West'] の条件が含まれていますが、クエリはすべての地域の店舗の売上を合計しています。しかし、よく調べてみると、サブクエリがゼロよりも多くの行を返すため、EXISTS 条件は真であり、クエリ "SELECT SUM(Sales) FROM Store_Information" から返される行が最終結果となります。" |