mysql中where和having的区别

mysql中里面的where和having是有相当大的区别的
having:这个关键字后面跟着的条件语句里面的变量必须在select后面有相应的变量.
where:这个关键字后面跟着的变量必须是真实的字段.
例如:
mysql中where和having的区别_第1张图片

where后面跟着的变量必须是真实的字段,having则不需要,使用as 指定的字段也能够作为条件
mysql中where和having的区别_第2张图片
使用as指定的字段作为判断条件
这里写图片描述
使用mysql函数的情况
mysql中where和having的区别_第3张图片
所以使用having这个关键字的时候,后面的变量一定要在select后面出现,另外计算结果、字符等不是真正的字段使用as指定的临时字段也能够在having后面作为判断条件,但是这一点where做不到,where后面的判断条件一定是真实的字段,但是这个字段不一定要在select后面出现.

你可能感兴趣的:(java,mysql)