Frühes Filtern
Pissa hat dich nun um deine Expertise gebeten, um die Leistung ihrer Datenbankabfragen zu optimieren. Sie haben den Verdacht, dass ihre bestehenden Abfragen nicht effizient genug sind und zu lange brauchen, um ausgeführt zu werden.
Das Ziel ist es, die Bestellungen abzurufen, die nach dem 1. November 2015 getätigt wurden – und zwar nur die Pizzen in der Kategorie „Veggie“.
Vervollständige die gegebene SQL-Abfrage, indem du frühe Filtertechniken einsetzt.
Diese Übung ist Teil des Kurses
Einführung in Snowflake SQL
Anleitung zur Übung
- Vervollständige die
filtered_orders
CTE. Die Filterung soll nur diejenigen Bestellungen, die nach2015-11-01
aufgegeben wurden, ergeben. - Vervollständige die
filtered_pizza_type
CTE. Die Filterung soll nur Pizzen der Kategorie'Veggie'
ergeben. - Rufe die Datensätze aus der
filtered_orders
CTE ab. - Führe einen Join mit der
filtered_pizza_type
CTE basierend auf der Spaltepizza_type_id
mit der KlauselON
durch.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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 = ___.___