相関副問合せ
Correlated Subquery
そうかんふくといあわせ
副問合せの中で外側の問合せの列を参照する形式。外側の行ごとに副問合せが評価されるため、EXISTS述語と組み合わせた存在検査などに使われるが、行数が多いと処理コストが大きくなる。
Related
他の資格での定義
内側の問合せが外側の問合せの行の値を参照する副問合せ。外側の1行ごとに内側が実行されるため、部門ごとの平均より給与が高い社員を抽出するといった処理が書けるが、行数が多いと遅くなりやすい。
外側のクエリの各行の値を参照する副問合せ。外側の行ごとに副問合せが評価されるため、通常の副問合せより処理コストが高い場合がある。EXISTS述語やIN述語と組み合わせて使用されることが多い。
外側の問合せの列を参照する副問合せ。外側の行ごとにその行の値を使って副問合せが評価されるとみなせ、EXISTSと組み合わせて「注文が1件でもある顧客」を求めたり、部署ごとの平均より高い給与の社員を求めたりするのに使う。行数が多いと処理が重くなるので、結合やウィンドウ関数への書換えも検討する。
Related
関連キーワードの用語
関係データベースからデータを検索・取得するSQL文。SELECT句(取得する列)、FROM句(対象テーブル)、WHERE句(抽出条件)、GROUP BY句(グループ化)、HAVING句(グループの条件)、ORDER BY句(並べ替え)を組み合わせて問い合わせを構成する。
SQL文の中に入れ子で記述される別のSELECT文。WHERE句やFROM句、SELECT句の中で使用され、外側の問合せに必要な中間結果を提供する。相関副問合せは外側の問合せの行ごとに評価される副問合せ。
複数の行の値をまとめて1つの値を返すSQL関数。COUNT(行数)、SUM(合計)、AVG(平均)、MAX(最大)、MIN(最小)が代表的。GROUP BY句と組み合わせてグループごとの集計に使用される。
1つ以上の実表に対するSELECT文を仮想的なテーブルとして定義したもの。実データを持たず、参照時にSELECT文が実行される。セキュリティ(列・行の制限)やデータの独立性確保に利用される。更新可能なビューと更新不可能なビューがある。
行のグループ(ウィンドウ)に対して集計や順位付けなどの計算を行うSQL関数。GROUP BYと異なり、個々の行を保持したまま集計結果を付加できる。ROW_NUMBER、RANK、SUM OVER、LAG、LEADなどがあり、分析クエリで活用される。
CやCOBOLなどの手続型言語のソースコード中にSQL文を直接記述する方式。プリコンパイラが処理系向けのコードに変換する。集合を返す問合せの結果は、カーソルを使って1行ずつ取り出す。
