Tidig filtrering
Pissa har nu bett om din hjälp för att optimera prestandan i sina databasfrågor. De misstänker att deras befintliga frågor inte är tillräckligt effektiva och tar för lång tid att köra.
Målet är att hämta beställningar som gjorts efter den 1 november 2015, och enbart pizzor i kategorin 'Veggie'.
Komplettera den givna SQL-frågan genom att använda tekniker för tidig filtrering.
Den här övningen är en del av kursen
Introduktion till Snowflake SQL
Övningsinstruktioner
- Komplettera CTE:n
filtered_ordersoch filtrera så att endast beställningar efter2015-11-01inkluderas. - Komplettera CTE:n
filtered_pizza_typeoch filtrera så att endast pizzor i kategorin'Veggie'inkluderas. - Hämta posterna från CTE:n
filtered_orders. - Joina CTE:n
filtered_pizza_typebaserat på kolumnenpizza_type_idmed hjälp avON-satsen.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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 = ___.___