LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • Vervollständige die filtered_orders CTE. Die Filterung soll nur diejenigen Bestellungen, die nach 2015-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 Spalte pizza_type_id mit der Klausel ON 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 = ___.___
Code bearbeiten und ausführen