A consulta me pareceu um modo mais trabalhoso de se fazer uma consulta simples com HAVING. Vejamos...
Na toada do exercício feito, me propus um novo exercício:
Quero obter a soma das vendas de cada produto, por seu código, e filtrar somente o que tem quantidade total = 393492.
Rodei primeiro todos os produtos vendidos, com as respectivas quantidades totais.
SELECT CODIGO_DO_PRODUTO, SUM(QUANTIDADE) AS QTDE_TOTAL FROM itens_notas_fiscais GROUP BY CODIGO_DO_PRODUTO;
Em seguida, fiz o filtro desejado na segunda coluna, a da quantidade total, usando o HAVING:
SELECT CODIGO_DO_PRODUTO, SUM(QUANTIDADE) AS QTDE_TOTAL FROM itens_notas_fiscais GROUP BY CODIGO_DO_PRODUTO
HAVING QTDE_TOTAL = 393492
Obtive o mesmo resultado que usando a consulta similar à da aula, com subconsulta, muito mais complicada:
SELECT Z.CODIGO_DO_PRODUTO, Z.QTDE_TOTAL
FROM (SELECT CODIGO_DO_PRODUTO, SUM(QUANTIDADE) AS QTDE_TOTAL FROM itens_notas_fiscais GROUP BY CODIGO_DO_PRODUTO) Z
WHERE Z.QTDE_TOTAL = 393492;