LoslegenKostenlos loslegen

Allgemeine Tabellenausdrücke (Common Table Expressions)

Pissa, das Unternehmen, das du berätst, plant eine Werbekampagne und braucht deine Expertise.

Die Kampagne zielt darauf ab, die beliebtesten Pizzen – basierend auf den Daten der aller Bestellungen – ins Rampenlicht zu rücken.

Sie überlegen auch, ein Angebotsmenü mit ihrer günstigsten Pizza einzuführen.

Deine Aufgabe als beratender Data Engineer ist es, diese beiden Pizzasorten zu identifizieren.

Diese Übung ist Teil des Kurses

Einführung in Snowflake SQL

Kurs anzeigen

Anleitung zur Übung

  • Erstelle eine CTE mit dem Namen most_ordered und beschränke die Anzahl der Ergebnisse auf 1.
  • Erstelle eine weitere CTE mit dem Namen cheapest_pizza und filtere mit einer Unterabfrage nach der günstigsten Pizza, um den kleinsten Preis zu ermitteln.
  • Vervollständige die Abfrage, um pizza_id und total_qty – mit dem Alias metric – von der most_ordered CTE auszuwählen.
  • Füge pizza_id und price – mit dem Alias metric – von der cheapest_pizza CTE ein. Achte darauf, dass du die Reihenfolge der Spalten beibehältst.

Interaktive Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

-- Create a CTE named most_ordered and limit the results 
___ ___ ___ (
    SELECT pizza_id, SUM(quantity) AS total_qty 
    FROM order_details GROUP BY pizza_id ORDER BY total_qty DESC
    ___
)
-- Create CTE cheapest_pizza where price is equal to min price from pizzas table
, ___ ___ (
    SELECT pizza_id, price
    FROM pizzas 
    WHERE price = (SELECT ___(price) FROM pizzas)
    LIMIT 1
)

SELECT pizza_id, 'Most Ordered' AS Description, total_qty AS metric
-- Select from the most_ordered CTE
FROM ___
UNION ALL
SELECT pizza_id, 'Cheapest' AS Description, price AS metric
-- Select from the cheapest_pizza CTE
FROM ___
Code bearbeiten und ausführen