Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Oi, Anne! Tudo certo por aí?
Parabéns pela resolução do exercício!
Uma dica para consultas em que precisamos filtrar registros a partir de um ano, é utilizar a função YEAR nos campos de data. Essa é uma estratégia que pode reduzir a quantidade de comandos da nossa query, bem como melhorar sua legibilidade.
Se fôssemos utilizar a função de data YEAR em sua consulta, teríamos algo assim:
USE SUCOS_VENDAS;
SELECT YEAR(NF.DATA_VENDA) AS ANO, FLOOR(SUM(NF.IMPOSTO * INF.QUANTIDADE * INF.PRECO)) AS IMPOSTO_ANUAL
FROM NOTAS_FISCAIS AS NF
JOIN ITENS_NOTAS_FISCAIS INF
ON NF.NUMERO = INF.NUMERO
WHERE YEAR(NF.DATA_VENDA) = 2016
GROUP BY YEAR(NF.DATA_VENDA);
Ao invés de realizarmos duas condições, analisando as datas inicial e final de 2016, apenas verificamos se o ano de DATA_VENDA é igual a 2016.
Além disso, observe que foi atribuído um apelido a YEAR(NF.DATA_VENDA), chamando-o de ANO. Com essa mudança, conseguimos visualizar sobre o que se trata a primeira coluna da nossa query!
Por fim, chegamos no mesmo resultado:
| ANO | IMPOSTO_ANUAL |
|---|---|
| 2016 | 4656937 |
Anne, na área de Dados existem diferentes maneiras de resolver o mesmo problema. Logo, sinta-se livre para utilizar ou não as sugestões que eu trouxe!
Caso surja alguma dúvida, estou aqui para ajudar.
Um grande abraço.