Expresii de tip Common Table Expression
Pissa, compania pentru care oferi consultanță, planifică o campanie promoțională și are nevoie de expertiza ta.
Campania urmărește să evidențieze cea mai populară pizza a lor în funcție de numărul total de comenzi.
De asemenea, compania ia în calcul introducerea unui meniu economic cu cea mai ieftină pizza din ofertă.
Sarcina ta, în calitate de inginer de date consultant, este să le identifici pe ambele.
Acest exercițiu face parte din cursul
Introducere în Snowflake SQL
Instrucțiuni pentru exercițiu
- Creează un CTE numit
most_orderedși limitează rezultatele la1. - Creează un al doilea CTE, numit
cheapest_pizza, și filtrează pentru pizza cea mai ieftină folosind un subinterogare care să găsească prețul minim. - Completează interogarea pentru a selecta
pizza_idșitotal_qtycu aliasulmetricdin CTE-ulmost_ordered. - Include
pizza_idșipricecu aliasulmetricdin CTE-ulcheapest_pizza. Atenție, păstrează ordinea coloanelor.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
-- 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 ___