IniziaInizia gratis

Filtraggio anticipato

Pissa ora ha chiesto il tuo aiuto per ottimizzare le prestazioni delle query del loro database. Sospettano che le query esistenti non siano abbastanza efficienti e richiedano troppo tempo per l'esecuzione.

L'obiettivo è recuperare gli ordini effettuati dopo il 1º novembre 2015 e solo le pizze della categoria "Veggie".

Completa la query SQL fornita applicando tecniche di filtraggio anticipato.

Questo esercizio fa parte del corso

Introduzione a Snowflake SQL

Visualizza il corso

Istruzioni dell'esercizio

  • Completa la CTE filtered_orders, filtrando per includere solo gli ordini successivi a 2015-11-01.
  • Completa la CTE filtered_pizza_type, filtrando per includere solo le pizze della categoria 'Veggie'.
  • Recupera i record dalla CTE filtered_orders.
  • Esegui la JOIN con la CTE filtered_pizza_type basandoti sulla colonna pizza_type_id usando la clausola ON.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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 = ___.___
Modifica ed esegui il codice