機能
記述形式
参照項番
ASSIST指定 → “2.14 ASSIST指定”
値式 → “2.10 値式”
探索条件 → “2.12 探索条件”
データ列値関数 → “2.5.3 データ列値関数”
数値関数 → “2.5.2 数値関数”
日時値関数 → “2.5.4 日時値関数”
列指定 → “2.4 列指定”
CASE式 → “2.6 CASE式”
ファンクションルーチン指定→ “2.5.5 ファンクションルーチン指定”
一般規則
副問合せの結果を以下に示します。
副問合せにDISTINCTが指定されている場合、副問合せの結果の各行同士がまったく同じ値を持つ行がある場合、それらの複数行を1行とする処理が施されます。このとき、NULL値同士は等しいとみなされます。ALLを指定するか、または何も指定しない場合、副問合せの結果に変化はありません。
表式の結果がグループ表でない場合、副問合せの結果は次のようになります。結果指定に集合関数指定がない場合、表式の結果の各行に結果指定の値式で示す演算が行われた、行の集合となります。結果指定に集合関数の指定がある場合の結果は、表式の結果を集合関数に適用した1行となります。
表式の結果がグループ表の場合、副問合せの結果は次のようになります。結果の行の数はグループの数となります。各行の値は、結果指定に集合関数の指定がある場合には、グループを集合関数に適用した結果となり、列指定の場合には、グループ化列の値となり、グループ化関数の場合は、グループ化関数の値となります。なお、結果指定にGROUP BY句のAS句の列名を指定した場合は、対応するグループ化列、グループ化関数またはCASE式の値となります。
表式の結果が空であれば、副問合せの結果は、空の表となります。
その他の構文要素の説明は、“3.26 DECLARE CURSOR(カーソル宣言)”を参照してください。
使用例
DELETE文:探索に適用した場合。
DELETE FROM TBL2 WHERE COL1 IN (SELECT BCOL FROM TBL1 WHERE ACOL = 30)