早期フィルタリング
Pissa 社から、データベースクエリのパフォーマンス最適化についての協力を求められました。既存のクエリが十分に効率的でなく、実行に時間がかかりすぎている可能性があるとのことです。
今回の目標は、2015年11月1日以降に行われた注文で、かつ「Veggie」カテゴリのピザのみを取得することです。
早期フィルタリングの手法を適用して、以下の SQL クエリを完成させましょう。
この演習はコースの一部です
Snowflake SQL 入門
演習の手順
filtered_ordersCTE を完成させ、2015-11-01以降に行われた注文のみに絞り込みましょう。filtered_pizza_typeCTE を完成させ、'Veggie'カテゴリのピザのみに絞り込みましょう。filtered_ordersCTE からレコードを取得しましょう。filtered_pizza_type列を使い、pizza_type_id句でONCTE を結合しましょう。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
WITH filtered_orders AS (
SELECT order_id, order_date
FROM orders
-- Filter records where order_date is greater than November 1, 2015
___
)
, filtered_pizza_type AS (
SELECT name, pizza_type_id
FROM pizza_type
-- Filter the pizzas which are in the Veggie category
___
)
SELECT fo.order_id, fo.order_date, fpt.name, od.quantity
-- Get the details from filtered_orders CTE
FROM ___ AS fo
JOIN order_details AS od ON fo.order_id = od.order_id
JOIN pizzas AS p ON od.pizza_id = p.pizza_id
-- JOIN the filtered_pizza_type CTE on pizza_type_id
___ ___ AS fpt ON p.pizza_type_id = ___.___