前置过滤
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 = ___.___