Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

cassius_fpu

WHERE vs HAVING

Recommended Posts

Olá moçada,

 

alguém sabe me dizer quais as principais diferenças entre WHERE e HAVING em um SELECT?

 

Por exemplo, a consulta:

 

select dt_venda as 'Data',

avg(total_venda) as 'Média'

from tb_venda

where dt_venda <> '2008-05-01' and dt_venda <> '2008-05-03' and dt_venda <> '2008-05-05'

group by dt_venda

 

Produz o mesmo resultado que :

 

select dt_venda as 'Data',

avg(total_venda) as 'Média'

from tb_venda

group by dt_venda

having dt_venda <> '2008-05-01' and dt_venda <> '2008-05-03' and dt_venda <> '2008-05-05'

 

Entretanto, a consulta:

 

select dt_venda as 'Dia',

sum(total_venda) as 'Total'

from tb_venda

where sum(total_venda) > 3000

group by dt_venda

 

Não substitui:

 

select dt_venda as 'Dia',

sum(total_venda) as 'Total'

from tb_venda

group by dt_venda

having sum(total_venda) > 3000

 

 

Alguém pode me explicar porquê?

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza, título alterado

 

sobre a diferença, o having é o filtro para o agrupamento e o where é o filtro da consulta

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.