MYSQL——having 和 where的区别

区别1
where是从数据表中的字段直接进行的筛选的。

having是从 前面筛选的字段再筛选

eg:
select goods_price,goods_name from goods having goods_price > 10
等价于
select goods_price,goods_name from goods where goods_price > 100

select goods_name,goods_number from goods having goods_price > 100
// 报错!!!因为前面并没有筛选出 goods_price 字段

区别2
having子句中可以使用字段别名,而where不能使用

区别3
having能够使用统计函数,先分组,再判断(having),但是where不能使用

原文地址:https://www.cnblogs.com/hghua/p/13294284.html