1.4標準
売上明細を日付で絞った中間結果から、地域別と商品別の2つの集計を作る。
同じ絞り込み条件を重複記述せず、SQLを読みやすく保守する。
最も適切な方法はどれか。
× 不正解
CTEで共通の中間結果を定義すると、条件を一箇所にまとめて複数集計から再利用できる。実行計画とスキャン量は確認する。
詳細解説
正しいWITH句の共通テーブル式(CTE)を使う
中間クエリを名前付きで定義し、後続の集計から参照できる。
中間クエリを名前付きで定義し、後続の集計から参照できる。
誤り同じWHERE句を2つのSQLへ手作業コピーする
条件変更時に片方だけ修正する漏れが起き、保守性が低い。
条件変更時に片方だけ修正する漏れが起き、保守性が低い。
誤りS3キーの命名だけで中間結果を表す
ファイル名はSQLの中間結果や計算依存関係を定義しない。
ファイル名はSQLの中間結果や計算依存関係を定義しない。
誤りIAMポリシーへSQLを記述する
IAMは権限を管理し、SQLの中間結果を定義しない。
IAMは権限を管理し、SQLの中間結果を定義しない。
実際に確かめる
一時的な検証環境で実行できる例です。
Athena・RedshiftのWITH句、CTE、実行計画の公式説明を確認する。期待される結果
SQLの再利用性と、保存キー・権限定義の役割を区別できる。理解のポイント
- SQL CTE
- WITH
- 中間結果
- 保守性
確認時の注意
- 確認環境: AWS公式DEA-C01試験ガイドと各サービスの公式ドキュメントの確認
- AWS公式DEA-C01 Domain 1・Task 1.4と各サービスの公式ドキュメントを確認する。
基礎のおさらい
論理分解
抽出・変換・集計をCTEで分け、各段階の粒度と列を明確にする。
性能確認
CTEが実体化されるか、同じ入力を複数回読むかを実行計画で確認する。
問題IDAWS-DEA-088
確認環境AWS公式DEA-C01試験ガイドと各サービスの公式ドキュメントの確認
最終技術確認2026-08-20
誤り・権利侵害を報告