Vroegtijdig filteren
Pissa heeft je nu om hulp gevraagd om de prestaties van hun databasequery's te optimaliseren. Ze vermoeden dat hun huidige query's niet efficiënt genoeg zijn en te lang duren.
Het doel is om de bestellingen op te halen die na 1 november 2015 zijn geplaatst, en alleen de pizza's in de categorie 'Veggie'.
Maak de gegeven SQL-query af door technieken voor vroegtijdig filteren toe te passen.
Deze oefening maakt deel uit van de cursus
Introductie tot Snowflake SQL
Oefeninstructies
- Maak de
filtered_orders-CTE af en filter zodat alleen bestellingen na2015-11-01worden meegenomen. - Maak de
filtered_pizza_type-CTE af en filter zodat alleen pizza's in de categorie'Veggie'worden meegenomen. - Haal de records op uit de
filtered_orders-CTE. - Voeg de
filtered_pizza_type-CTE samen op basis van de kolompizza_type_idmet behulp van deON-clausule.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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 = ___.___