Achei interessante manter e adicionar alguns parametros:
select X.NOME, X.CPF, X.MES_ANO, X.QUANTIDADE_VENDAS, X.QUANTIDADE_LIMITE_COMPRA,
X.QUANTIDADE_LIMITE_COMPRA - X.QUANTIDADE_VENDAS as DIFERENCA,
case when (X.QUANTIDADE_LIMITE_COMPRA - X.QUANTIDADE_VENDAS) < 0 then 'INVALIDA' else 'VALIDA'
end as STATUS_DAS_VENDAS,
round((1 - (X.QUANTIDADE_LIMITE_COMPRA/X.QUANTIDADE_VENDAS)) * 100, 2) AS PERCENTUAL_DIFERENCA
from (select TC.NOME, NF.CPF, date_format(NF.DATA_VENDA, '%m-%Y') as MES_ANO,
sum(INF.QUANTIDADE) as QUANTIDADE_VENDAS, TC.VOLUME_DE_COMPRA as QUANTIDADE_LIMITE_COMPRA
from notas_fiscais NF
inner join itens_notas_fiscais INF
on NF.NUMERO = INF.NUMERO
inner join tabela_de_clientes TC
on TC.CPF = NF.CPF
group by TC.NOME, NF.CPF, date_format(NF.DATA_VENDA, '%m-%Y'))X
WHERE (X.QUANTIDADE_LIMITE_COMPRA - X.QUANTIDADE_VENDAS) < 0;