17.10 - 派生テーブルのルールと制限 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ操作言語

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1146-171K-JPN
Language
日本語 (日本)
ルールと制限を以下に示します。
  • 派生テーブルとビューの意味は同じであり、制限についても同様です。
  • 派生テーブルの有効範囲は、サブクエリーを呼び出したSELECT文のレベルに限定されます。
  • 文内で作成する各派生テーブルには固有なテーブル相関名が必要です。
  • 派生テーブルでは、次のオプションを指定することはできません。
    • ORDER BY
    • WITH ... BY
  • 派生テーブルを作成するために使用するsubqueryの選択リストで列名を指定する場合、完全修飾列名が必須です。そうしないと、あいまいな列名になります。

    このルールは、ビューを作成するためのルールと一致しています。

    このクエリーで、派生テーブルを作成するサブクエリーの選択リスト中で指定されている列が修飾されていません。

          SELECT *
          FROM (SELECT *
                FROM tab1 AS t1, tab2 AS t2
                WHERE t1.col2 = t2.col3) AS derived_table;
          
          *** Failure 3515 Duplication of column COL1 in creating a Table,
          View, Macro or Trigger.
          Statement# 1, Info =95
          *** Total elapsed time was 1 second.

    正しい問合わせは以下のように作成されます。

          SELECT *
          FROM (SELECT t1.col1, t1.col2, t1.col3, t2.col1,
                       t2.col2, t2.col3
                FROM tab1 AS t1, tab2 AS t2
                WHERE t1.col2=t2.col3) AS derived_table (t1_col1,
                      t1_col2, t1_col3, t2_col1, t2.col2, t2_col3);
  • 派生テーブルの内容を定義するサブクエリーに、SELECT AND CONSUME文を含めることはできません。