A solução proposta no exercício não agrupa todas as notas fiscais de cada cliente no ano, mas apresenta o valor das notas emitidas em cada data do ano de 2016. Para fazer sentido e apresentar conforme o enunciado 'um SQL cujo resultado seja para cada cliente: "O cliente João da Silva comprou R$ 121222,12 no ano de 2016".', faz-se necessário agrupar a data pelo ano e não por cada data. Uma forma seria assim:
SELECT TC.NOME, CONCAT('O cliente ', TC.NOME, ' comprou R$ ',
TRIM(STR(SUM(IT.QUANTIDADE * IT.PRECO) ,10,2)), ' no ano de ', YEAR(NF.DATA_VENDA), '.') AS VALOR
FROM NOTAS_FISCAIS AS NF
INNER JOIN ITENS_NOTAS_FISCAIS AS IT ON NF.NUMERO = IT.NUMERO
INNER JOIN TABELA_DE_CLIENTES AS TC ON NF.CPF = TC.CPF
WHERE YEAR(NF.DATA_VENDA) = '2016'
GROUP BY TC.NOME, YEAR(NF.DATA_VENDA);