WHERE vs HAVING
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ê?
Discussão (2)
Carregando comentários...