Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Maak de filtered_orders-CTE af en filter zodat alleen bestellingen na 2015-11-01 worden 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 kolom pizza_type_id met behulp van de ON-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 = ___.___
Code bewerken en uitvoeren