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

Teradata Vantage™ SQLデータ操作言語

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Release Date
2019年3月
Content Type
プログラミング リファレンス
Publication ID
B035-1146-162K-JPN
Language
日本語 (日本)
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列に同じ値を持つすべての行を縮小します。