Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

A mesma consulta com HAVING

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;

1 resposta
solução!

Olá Bruno, tudo bem? O SQL é muito flexível Bruno e não temos uma unica forma de fazermos algo, podemos fazer de diversas formas, então se resolveu o seu problema usando HAVING então tudo certo, no universo de tecnologia o principal objetivo é resolver problemas, então se usando o HAVING você consegue o mesmo resultado do que utilizando uma sub consulta então tudo certo, na aula o professor fez usando sub consulta para apresentar essa funcionalidade, que pode nos ajudar muito em determinados cenários.

Espero ter ajudado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software