Hitachi

Hitachi Advanced Data Binder SQLリファレンス


6.9.2 問合せの結果の導出列名の決定規則

問合せの結果の導出列名は,次の規則に従って決まります。

〈この項の構成〉

(1) 問合せ式の場合

1番目に指定した問合せ一次子の結果によって導出される列名が導出列名になります。

(2) 問合せ指定または副問合せの場合

■i番目の選択式にAS句の指定がない場合
  • i番目の選択式に指定された値式が列指定の場合

    その列名がi番目の導出列名になります。

  • i番目の選択式に指定された値式が副問合せの場合

    副問合せの結果によって導出される列名がi番目の導出列名になります。

  • 上記以外

    導出列に列名は設定されません。

■i番目の選択式にAS句の指定がある場合

i番目の選択式に指定したAS句の列名が,i番目の導出列名になります。

導出列名の決定規則の例を次に示します。

(例1)
SELECT "C1","C2","C3" FROM "T1"

上記のSELECT文を実行した場合,導出列名は"C1""C2""C3"になります。導出列の列順もこの順序になります。

(例2)
SELECT "C1","C2" AS "X2","C3" FROM "T1"

上記のSELECT文を実行した場合,導出列名は"C1""X2""C3"になります。導出列の列順もこの順序になります。

(例3)
SELECT "C1",SUM("C2") AS "SUM-C2",AVG("C2") FROM "T1"
    WHERE "C3">=DATE'2011-09-03'
    GROUP BY "C1"

上記のSELECT文を実行した場合,導出列名は"C1","SUM-C2","列名なし"になります。導出列の列順もこの順序になります。

(3) 導出表の場合

■導出列リストの指定がある場合

i番目の導出列リスト中の列名が,i番目の導出列名になります。

■導出列リストの指定がない場合
  • 導出表として表副問合せを指定する場合

    副問合せの結果,導出される表の列名が導出列名になります。

    導出列名が設定されていない場合,EXPnnnn_NO_NAMEが導出列名になります。nnnnは,00011000の符号なし整数です。nnnnには,導出列名が設定されていない列に対して,先頭から順番に00010002,…が仮定されます。

  • 導出表として表値構成子を指定する場合

    導出列名は,EXPnnnn_NO_NAMEになります。nnnnは,00011000の符号なし整数です。nnnnには,導出列の先頭から順番に00010002,…が仮定されます。

(4) 表関数導出表の場合

■表関数列リストの指定がある場合

表関数列リストに指定したi番目の列名が,i番目の導出列名になります。

■表関数列リストの指定がない場合

表関数導出表に指定したシステム定義関数によって導出される列名が,導出列名になります。

(5) 集まり導出表の場合

■導出列リストの指定がある場合

導出列リストに指定したi番目の列名が,i番目の導出列名になります。

■導出列リストの指定がない場合

集まり導出表中に指定したi番目の列指定の列名が,i番目の導出列名なります。