mysql> select 2-1 as a,password from mysql.user where user='root' having a>0;+---+-------------------------------------------+| a | password |+---+-------------------------------------------+| 1 | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |+---+-------------------------------------------+1 row in set (0.00 sec)mysql> select 2-1 as a,password from mysql.user where user='root' having a>1;Empty set (0.00 sec)mysql>
只要区别就是:
where只对数据库里的所有数据进行查询
having只对结果集进行查询
数据库 --select--> ---where--> 结果 --having--> 结果