Olá, fiz dessa forma? Tem algum problema em termos de desempenho? Percebi que o código do professor foi mais simples.
SELECT
ANO,
ROUND(SUM(VALOR_FINAL), 2) FROM
(SELECT
YEAR (DATA_VENDA) AS ANO,
SUM((QUANTIDADE*PRECO)*IMPOSTO) AS VALOR_FINAL
FROM itens_notas_fiscais A
INNER JOIN notas_fiscais B
ON A.NUMERO = B.NUMERO
GROUP BY DATA_VENDA, A.NUMERO
) AS NOVA_TABELA
WHERE ANO = 2016;