Common Table Expressions
Pissa, perusahaan yang Anda tangani sebagai konsultan, sedang merencanakan kampanye promosi dan membutuhkan keahlian Anda.
Kampanye ini bertujuan menyoroti pizza mereka yang paling populer berdasarkan total pesanan.
Mereka juga mempertimbangkan untuk memperkenalkan paket hemat yang menampilkan pizza paling murah.
Tugas Anda sebagai data engineer konsultan adalah mengidentifikasi kedua pizza tersebut.
Latihan ini adalah bagian dari kursus
Pengantar Snowflake SQL
Petunjuk latihan
- Buat CTE bernama
most_ordereddan batasi hasilnya menjadi1. - Buat CTE lain bernama
cheapest_pizzadan saring untuk pizza termurah menggunakan subkueri untuk menemukan harga minimum. - Lengkapi kueri untuk memilih
pizza_iddantotal_qtydengan aliasmetricdari CTEmost_ordered. - Sertakan
pizza_iddanpricedengan aliasmetricdari CTEcheapest_pizza. Perhatikan, pertahankan urutan kolomnya.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
-- 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 ___