Álbuns que impulsionam as vendas
Sua diretora passou na sua mesa hoje e contou, em primeira mão, sobre uma promoção de fim de ano em álbuns "Greatest Hits" que vai ao ar em breve. Mas, para garantir que os álbuns ideais recebam desconto, ela quer saber quais álbuns "Greatest Hits" geram mais vendas. Para isso, você vai colocar em prática todas as habilidades que aprendeu!
Este exercicio faz parte do curso
Manipulação de dados no Snowflake
Instruções do exercicio
- Defina uma CTE chamada
album_map. - Crie uma instrução
CASEque retorneTRUEsegreatestestiver no título de um álbum eFALSEcaso contrário, usando o aliasis_greatest_hits. - Atualize a CTE
trimmed_invoicelines, fazendoLEFT JOINdas tabelasinvoiceetrackscominvoicelineseminvoice_idetrack_id, respectivamente. - Use uma subconsulta para retornar apenas álbuns "Greatest Hits".
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
-- Define an album_map CTE to combine albums and artists
___ (
SELECT
album.album_id, album.title AS album_name, artist.name AS artist_name,
-- Determine if an album is a "Greatest Hits" album
___
___ album_name ILIKE '%greatest%' ___ TRUE
ELSE FALSE
___ AS ___
FROM store.album
JOIN store.artist ON album.artist_id = artist.artist_id
), trimmed_invoicelines (
SELECT
invoiceline.invoice_id, track.album_id, invoice.total
FROM store.invoiceline
LEFT JOIN store.invoice ON invoiceline.invoice_id = invoice.invoice_id
LEFT JOIN store.track ON invoiceline.track_id = track.track_id
)
SELECT
album_map.album_name,
album_map.artist_name,
SUM(ti.total) AS total_sales_driven
FROM trimmed_invoicelines AS ti
JOIN album_map ON ti.album_id = album_map.album_id
-- Use a subquery to only "Greatest Hits" records
___ ti.___ ___ (SELECT album_id FROM album_map WHERE is_greatest_hits)
GROUP BY album_map.album_name, album_map.artist_name, is_greatest_hits
ORDER BY total_sales_driven DESC;