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

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

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

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

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