WHERE、GROUP BY、およびQUALIFY句がSELECT文で一緒に使用された場合、次の順序で評価されます。
- WHERE句
- GROUP BY句
- QUALIFY句
詳細な手順は次のとおりです。
- Teradata Databaseは、FROM句テーブル上のWHERE句条件を評価します。
- 結果の行が、GROUP BY列を使用してグループ化されます。
- Teradata Databaseは、グループ化テーブル上の順序付き分析関数を評価します。
- QUALIFY句が、結果セットに適用されます。
QUALIFY句の選択リストと検索条件の両方で呼び出されるTeradata Database固有の関数(CSUMおよびMAVGなど)は、行の除去をいっさい行なわずに、グループ化された行に対して計算されます。そして、QUALIFY句の検索条件が適用されます。
ウィンドウ関数(SUMおよびAVGなど)の場合、GROUP BYは単一の行にあるgroup-by列に同じ値を持つすべての行を縮小します。