Aan de slagGa gratis aan de slag

Common Table Expressions

Pissa, het bedrijf waarvoor je adviseert, plant een promotiecampagne en heeft jouw expertise nodig.

De campagne wil hun populairste pizza op basis van het totale aantal bestellingen in de spotlight zetten.

Ze overwegen ook een voordeelpakket met hun goedkoopste pizza.

Jouw taak als consultant data-engineer is om beide pizza’s te identificeren.

Deze oefening maakt deel uit van de cursus

Introductie tot Snowflake SQL

Cursus bekijken

Oefeninstructies

  • Maak een CTE met de naam most_ordered en beperk de resultaten tot 1.
  • Maak nog een CTE met de naam cheapest_pizza en filter op de goedkoopste pizza met een subquery die de minimumprijs zoekt.
  • Maak de query af om pizza_id en total_qty als metric te selecteren uit de CTE most_ordered.
  • Neem pizza_id en price op als metric uit de CTE cheapest_pizza. Let op: behoud de kolomvolgorde.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

-- 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 bewerken en uitvoeren