CommencezCommencez gratuitement

Expressions de table communes (CTE)

Pissa, l'entreprise pour laquelle vous agissez comme consultant, prépare une campagne promotionnelle et a besoin de votre expertise.

La campagne vise à mettre en valeur leur pizza la plus populaire selon le nombre total de commandes.

Ils envisagent aussi d'introduire un combo avantage mettant en vedette leur pizza la moins chère.

Votre tâche, en tant qu'ingénieur·e de données-conseil, est d'identifier ces deux pizzas.

Cette activité fait partie du cours

Introduction à Snowflake SQL

Voir le cours

Instructions de l’exercice

  • Créez une CTE nommée most_ordered et limitez les résultats à 1.
  • Créez une autre CTE, appelée cheapest_pizza, et filtrez pour la pizza la moins chère en utilisant une sous-requête pour trouver le prix minimal.
  • Complétez la requête pour sélectionner pizza_id et total_qty avec l'alias metric à partir de la CTE most_ordered.
  • Incluez pizza_id et price avec l'alias metric à partir de la CTE cheapest_pizza. Notez qu'il faut conserver l'ordre des colonnes.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

-- 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 ___
Modifier et exécuter le code