例: SUBQUERYの条件によって統計がコピーされない - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 構文規則および例

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/spp1591731285373.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1144
Product Category
Software
Teradata Vantage

Vantageは、単一テーブル条件または結合条件がsubqueryのWHERE句で指定されている場合には、この例に示されているように、統計をコピーしません。統計がコピーできないことを示す警告メッセージが、要求元に返されます。

例1

この例では、Vantageは統計をコピーしません。これは、列xに10より大きな値を保持する行をコピーするように制限するWHERE条件に基づいてデータの一部のみがコピーされるためです。

    CREATE TABLE t2 AS (SELECT *
                        FROM test 
                        WHERE x > 10) 
    WITH DATA AND STATISTICS;

例2

この例では、Vantageは統計をコピーしません。これは、列x1に10より大きな値を保持し、なおかつ列y1に20と等しい値を保持する行をコピーするように制限するsubqueryのWHERE句に基づいて、データの一部のみがコピーされるためです。

    CREATE TABLE t2 AS (SELECT *
                        FROM test1 
                        WHERE x1 > 10 
                        AND   y1 = 20) 
    WITH DATA AND STATISTICS;

例3

この例では、Vantageは統計をコピーしません。これは、subqueryでテーブルが左外部結合されているためです。

    CREATE TABLE t2 AS (SELECT *
                        FROM test LEFT OUTER JOIN                                   test1 ON test.x=test1.x1) 
    WITH DATA AND STATISTICS;

例4

この例では、Vantageは統計をコピーしません。これは、subqueryでテーブルが右外部結合されているためです。

     CREATE TABLE t2 (a, b) AS (SELECT x1, y1
                                FROM test RIGHT JOIN 
                                test1 ON test. a=test1.a1) 
     WITH DATA AND STATISTICS;