Esta é minha resolução da parte do vídeo do professor, optei por transformar em uma VIEW pois iria me facilitar no segundo exercício.
/* Limite de compra dos clientes */
CREATE VIEW `VW_COMPRAS_MENSAIS` AS
select X.*, case when (x.total_compra > x.Volume_Max_de_compra) THEN 'IRREGULAR' ELSE 'REGULAR' END as REGULARIDADE from
(select TC.NOME, TC.CPF ,date_format(DATA_VENDA, '%Y-%m') as mes_ano, SUM(INF.QUANTIDADE) as total_compra, MAX(VOLUME_DE_COMPRA) as Volume_Max_de_compra from notas_fiscais NF
inner join itens_notas_fiscais INF on NF.NUMERO = INF.NUMERO
inner join tabela_de_clientes TC on NF.CPF = TC.CPF
group by TC.NOME,TC.CPF, date_format(DATA_VENDA, '%Y-%m'))X;
/* vendas inválidas e calculando a diferença entre o limite de venda máximo e o realizado, em percentuais. */
CREATE VIEW `VW_COMPRAS_IRREGULARES` AS
select Y.*,
round(((1-( Y.total_compra / Y.Volume_Max_de_compra))*-100),2) as procentagem_de_irregularidade
from
vw_compras_mensais Y
where Y.Regularidade = 'IRREGULAR';
/*Resposta final*/
select * from vw_compras_irregulares;
Então ficou assim minha resolução completa, minha duvida propriamente dita é se este método que eu escolhi é viável, pois utilizei uma VIEW dentro de outra VIEW, e ate então nunca vi o professor falar sobre está possibilidade.