データベーススペシャリスト暗記無料で始める

EXISTS述語とは?イグジストじゅつご

EXISTS述語とは、副問合せが行を1件でも返すかどうかだけを真偽で返す述語。件数も値も見ないため、1件見つかった時点で評価を打ち切れる。NOT EXISTSと組み合わせて「条件に合う行が1件も存在しない」を表す書き方が、試験でも実務でも定番になっている。

最終更新:2026-10-06

試験情報

データベーススペシャリスト試験の過去問では1問の解説で触れられています。

データベーススペシャリスト試験の頻出用語/午前II

この語が出る過去問を解く →

背景

「すべての商品を注文したことがある顧客」のような全称の条件を、SQLは直接書けない。用意されているのは「注文していない商品が存在しない」という二重否定への言い換えだけで、その道具がNOT EXISTSである。関係代数の差演算に対応する操作としても使われ、集合の引き算をSQLで表現する基本形になっている。

具体例

1度も予約していない会員を出すなら、WHERE NOT EXISTS (SELECT * FROM 予約 WHERE 予約.会員番号 = 会員.会員番号) と書く。外側の1行ごとに評価される相関副問合せである。

試験での引っ掛け

行の有無しか見ないので、副問合せのSELECT句に何を書いても結果は変わらない。INとの決定的な違いはNULLの扱いで、NOT INは候補にNULLが1つ混じるだけで1行も返らなくなるが、NOT EXISTSはその影響を受けない。

関連用語

出た過去問

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 1問の解説で触れられる
  • 分野:午前II
  • 行の有無しか見ないので、副問合せのSELECT句に何を書いても結果は変わらない。