情報処理安全確保支援士暗記無料で始める

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

EXISTS述語とは、副問合せが1行以上の結果を返すかどうかだけを真偽で判定するSQLの述語である。行が1件でもあれば真、無ければ偽を返し、副問合せのSELECT句に何を書いても結果は変わらない。外側の行ごとに副問合せを評価する相関副問合せと組み合わせて「該当する相手がいる/いない」を表す用途が中心で、支援士では権限のない利用者を洗い出す監査用SQLなどで読み取りを求められる。

最終更新:2026-10-06

試験情報

情報処理安全確保支援士試験の頻出用語/午前II

情報処理安全確保支援士を最短で暗記・合格する →

背景

「注文が1件もない顧客」「上司が登録されていない社員」のような「存在しない」条件は、単純な結合では書きにくい。存在の有無だけを問う述語があれば、値を取り出す必要がなく、副問合せが最初の1行を見つけた時点で評価を打ち切れる。関係代数の商や差集合をSQLで表す実用的な手段として標準化された。

具体例

社内システムのアカウント棚卸しで、人事マスタに在籍していない利用者を探すなら SELECT * FROM 利用者 U WHERE NOT EXISTS (SELECT 1 FROM 社員 E WHERE E.社員番号 = U.社員番号) と書く。Active Directoryの退職者アカウント残存チェックをSQL Serverのレポートで実装するときに使う型である。

試験での引っ掛け

NOT INは副問合せの結果にNULLが1つでも含まれると全体が真にならず、該当行が1件も返らない。NOT EXISTSはNULLの影響を受けないため、この差がそのまま出題される。またEXISTSは値を比較していないので、SELECT * でも SELECT 1 でも同じ結果になる点を「列を指定しないと動かない」と誤解しない。

関連用語

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

情報処理安全確保支援士を最短で暗記・合格する →

試験での特徴
  • 分野:午前II
  • NOT INは副問合せの結果にNULLが1つでも含まれると全体が真にならず、該当行が1件も返らない。