Zacznij terazZacznij za darmo

Wczesne filtrowanie

Firma Pissa zwróciła się do ciebie z prośbą o optymalizację zapytań do swojej bazy danych. Podejrzewa, że istniejące zapytania nie są wystarczająco wydajne i działają zbyt wolno.

Celem jest pobranie zamówień złożonych po 1 listopada 2015 roku oraz wyłącznie pizz z kategorii „Veggie".

Uzupełnij podane zapytanie SQL, stosując techniki wczesnego filtrowania.

To ćwiczenie jest częścią kursu

Wprowadzenie do Snowflake SQL

Zobacz kurs

Instrukcje do ćwiczenia

  • Uzupełnij CTE filtered_orders, filtrując dane tak, aby uwzględniały tylko zamówienia złożone po 2015-11-01.
  • Uzupełnij CTE filtered_pizza_type, filtrując dane tak, aby uwzględniały tylko pizze z kategorii 'Veggie'.
  • Pobierz rekordy z CTE filtered_orders.
  • Połącz CTE filtered_pizza_type na podstawie kolumny pizza_type_id, używając klauzuli ON.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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 = ___.___
Edytuj i uruchom kod