Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Komplettera CTE:n filtered_orders och filtrera så att endast beställningar efter 2015-11-01 inkluderas.
  • Komplettera CTE:n filtered_pizza_type och filtrera så att endast pizzor i kategorin 'Veggie' inkluderas.
  • Hämta posterna från CTE:n filtered_orders.
  • Joina CTE:n filtered_pizza_type baserat på kolumnen pizza_type_id med hjälp av ON-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 = ___.___
Redigera och kör kod