开始使用免费开始使用

前置过滤

Pissa 现在希望借助您的专业能力来优化其数据库查询性能。他们怀疑现有查询效率不高,运行时间过长。

目标是检索 2015 年 11 月 01 日之后的订单,并且只包含 "Veggie" 类别的披萨。

请通过实现前置过滤技术,完成给定的 SQL 查询。

本练习是课程的一部分

Snowflake SQL 入门

查看课程

练习说明

  • 完成 filtered_orders CTE,只保留 2015-11-01 之后的订单。
  • 完成 filtered_pizza_type CTE,只保留 'Veggie' 类别的披萨。
  • filtered_orders CTE 中检索记录。
  • 使用 ON 子句,基于 pizza_type_id 列连接 filtered_pizza_type CTE。

交互式实操练习

通过完成这段示例代码来试试这个练习。

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 = ___.___
编辑并运行代码