WHERE、GROUP BY、およびQUALIFY句の評価の順序 - Teradata Database - Teradata Vantage NewSQL Engine - WHERE、GROUP BY、およびQUALIFY句の評価の順序、QUALIFY句

Teradata Vantage™ SQLデータ操作言語

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/fbo1512081269404.ditamap
dita:ditavalPath
ja-JP/fbo1512081269404.ditaval
dita:id
B035-1146
Product Category
Software
Teradata Vantage
WHERE、GROUP BY、およびQUALIFY句がSELECT文で一緒に使用された場合、次の順序で評価されます。
  1. WHERE句
  2. GROUP BY句
  3. QUALIFY句
詳細な手順は次のとおりです。
  1. Teradata Databaseは、FROM句テーブル上のWHERE句条件を評価します。
  2. 結果の行が、GROUP BY列を使用してグループ化されます。
  3. Teradata Databaseは、グループ化テーブル上の順序付き分析関数を評価します。
  4. QUALIFY句が、結果セットに適用されます。

QUALIFY句の選択リストと検索条件の両方で呼び出されるTeradata Database固有の関数(CSUMおよびMAVGなど)は、行の除去をいっさい行なわずに、グループ化された行に対して計算されます。そして、QUALIFY句の検索条件が適用されます。

ウィンドウ関数(SUMおよびAVGなど)の場合、GROUP BYは単一の行にあるgroup-by列に同じ値を持つすべての行を縮小します。