Na realidade não é uma dúvida, é uma proposta de otimização da consulta. Como o ano é fixo, não extraí o valor dele da data da venda pois todas as vendas são de 2016. Sendo assim usei o ano como constante. Também não usei o CAST, concatenei direto a expressão de calculo do total de vendas e ainda formatando para 2 casa decimais. Comparei as duas consultas houve um ganho significativo de performance entre a solução proposta e a minha abaixo:
select concat('O cliente ',nome,'faturou ',round(sum(nfi.PRECO*nfi.QUANTIDADE),2),' no ano de 2016') as linha
from tabela_de_clientes cli
inner join notas_fiscais nf on cli.cpf=nf.cpf
inner join itens_notas_fiscais nfi on nfi.numero=nf.numero
where year(nf.DATA_VENDA)=2016
group by nome
14 row(s) returned 0.375 sec / 0.000 sec
A solução proposta demorou:
14 row(s) returned 0.562 sec / 0.000 sec
Quase o dobro! Fica como sugestão :-)