基本情報技術者試験「相関副問合せ」の問題
相関副問合せ(相関サブクエリ)の特徴として最も適切なものはどれか。
ア内側の問合せが外側の問合せの各行の値を参照し、外側の行ごとに繰り返し評価される
イ内側の問合せが一度だけ実行され、その結果を外側がIN句で利用する
ウ複数の表を結合キーで横方向につなぎ一つの大きな表を作る操作である
エ集計結果に対する条件をHAVING句で指定して絞り込む操作である
正解
ア.内側の問合せが外側の問合せの各行の値を参照し、外側の行ごとに繰り返し評価される
相関副問合せは内側の問合せが外側の問合せの列を参照し、外側の1行ごとに内側が再評価される。EXISTS と組み合わせ『各行について条件を満たす行が存在するか』を判定する用途が代表例であり正しい。
?選択肢ごとの解説
ア ○相関副問合せは内側の問合せが外側の問合せの列を参照し、外側の1行ごとに内側が再評価される。EXISTS と組み合わせ『各行について条件を満たす行が存在するか』を判定する用途が代表例であり正しい。
イ ×内側が一度だけ実行され結果を外側がIN句で使うのは非相関副問合せの説明であり、外側の行を参照しない点で相関副問合せと異なる。
ウ ×複数表を結合キーで横につなぐのは結合(JOIN)の説明であり、副問合せの入れ子構造とは別の操作である。
エ ×集計結果をHAVING句で絞るのはグループ集計の絞り込みであり、相関副問合せの定義とは無関係である。
✎くわしく
副問合せには非相関(内側が独立に一度評価される)と相関(内側が外側の行値に依存し行ごとに再評価される)がある。相関副問合せは EXISTS/NOT EXISTS と組み合わせ、外側の各行に対し関連する行の有無を判定するのが典型用途である。
✓本番での押さえどころ
試験のコツ
副問合せ内に外側の表別名(エイリアス)が出てくれば相関副問合せ。行ごとに繰り返し評価される点を覚える。
覚え方
『相関』=外側と内側が手を取り合う=外の各行に内が連動して繰り返す、とイメージする。
よくある誤り
相関と非相関を取り違える。内側が外側の列を参照していれば相関、参照せず単独で評価できれば非相関と判別する。
データベースの他の問題
この問題を、AIの8-ways解説つきで。
無料ではじめる →基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。
ukamiru 過去問 · 基本情報技術者試験 · fe-a3-0244