前期過濾
Pissa 現在希望你協助最佳化他們的資料庫查詢效能。他們懷疑現有查詢不夠有效率,執行時間過長。
目標是擷取 2015-11-01 之後的訂單,且只包含「Veggie」分類的披薩。
請完成給定的 SQL 查詢,實作前期過濾技巧。
本練習屬於課程
Snowflake SQL 入門
練習說明
- 完成
filtered_ordersCTE,只保留2015-11-01之後的訂單。 - 完成
filtered_pizza_typeCTE,只保留「'Veggie'」分類的披薩。 - 從
filtered_ordersCTE 取回記錄。 - 使用
ON子句,根據pizza_type_id欄位連接filtered_pizza_typeCTE。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
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 = ___.___