mysql having与where的区别(个人理解)
2016-06-12 16:22
399 查看
having跟where都能作为刷选条件
但having可以作为mysql进行逻辑运算后的条件where只能作为字段筛选条件
例如:
用having筛选
select count(Friend.userID) from User left join Friend on User.id = Friend.userID group by User.id having count(Friend.userID) > 1;
查询Uesr表中每个用户在Friend里面的好友数量超过1个
用where筛选
select count(Friend.userID) from User left join Friend on User.id = Friend.userID where count(Friend.userID) > 1 group by User.id;
但是having是聚合语句 where的话效率更快
having就用在当where判断不足的时候补全
但having可以作为mysql进行逻辑运算后的条件where只能作为字段筛选条件
例如:
用having筛选
select count(Friend.userID) from User left join Friend on User.id = Friend.userID group by User.id having count(Friend.userID) > 1;
查询Uesr表中每个用户在Friend里面的好友数量超过1个
用where筛选
select count(Friend.userID) from User left join Friend on User.id = Friend.userID where count(Friend.userID) > 1 group by User.id;
但是having是聚合语句 where的话效率更快
having就用在当where判断不足的时候补全
相关文章推荐
- mysql 5.6安装成功后如何设置密码?
- navicate 快捷键
- ubutu之mysql emma中文乱码问题解决
- ubuntu下mysql的安装
- mysql非安装包安装教程
- mysql error 1130 hy000:Host 'localhost' is not allowed to connect to this mysql server 解决方案
- Mysql隔离级(转)
- mysql union
- LNMP 下使用命令导出导入 MySQL 数据库教程
- Mysql:Can't connect to MySQL server on ‘localhost' (10061)
- mysql 5.5.45 升级至5.7.13 配置升级表空间分配
- NodeJs——(2)和 MySQL(windows下)
- Mysql配置文件中设置字符集编码
- MySQL 三种关联查询的方式: ON vs USING vs 传统风格
- MySQL mysqldump数据导出详解
- InnoDB双写缓冲
- 远程访问mysql
- MYSQL向日期添加指定的时间间隔
- (二)企业部分之lnmp环境的搭建:mysql源码安装
- MySQL 基本操作之数据库操作