where: 条件字段必须是“数据表”中存在的字段
having:条件字段必须是“结果集”中存在的字段
以上两个关键字在某些场合可以互换使用:
1、两者通用
select id, name, price from goods where price>1000
select id, name, price from goods having price >1000
2、只能使用 where(不能用 having)
select id, name from goods where price>1000
select id, name from goods having price>1000 //错误
3、只能使用 having(不能用 where)
select brand_id, avg (price) as ag from goods group by brand_id having ag>=2000
select brand_id, avg (price) as ag from goods group by brand_id where ag>=2000 //错误