北京SEO

Mysql中where与having用法区别详解

2019/10/10/17:35:46  阅读:1978  来源:谷歌SEO算法  标签: 微信公众号

很多初用mysql的朋友可能搞不清楚在mysql中where与having的区别在哪里,下面我来简单的举几个实例来介绍where与having的区别吧.

让我们先运行2个sql语句,代码如下:

  1. SELECT*FROM`welcome`HAVINGid>1LIMIT0,30
  2. SELECT*FROM`welcome`WHEREid>1LIMIT0,30

查看一下结果吧,怎么样?是不是查询到相同的结果,让我们再看2个sql语句,代码如下:

  1. SELECTuser,MAX(salary)FROMusersGROUPBYuserHAVINGMAX(salary)>10;
  2. SELECTuser,MAX(salary)FROMusersGROUPBYuserWHEREMAX(salary)>10;

怎么样?看出差别了吗,第一个sql语句可以正常运行,旧版mysql可能会出错,而第二个则会报错.

如果你没看出我们再看.

•WHERE子句是在第一步从表或视图中配全SELECT子句把数据过滤性地查询出来,代码如下:

  1. select*fromtable_awheretitle1='a';
  2. select*fromtable_awheretitle1='a';

•HAVING子句是在SELECT子句与WHERE子句把查询出来的结果存放到内存中的二次过滤,代码如下:

  1. 1.select*fromtable_a
  2. 2.wheretitle1='a'--phpfensi.com
  3. 3.havingcontent2like'b%'

总结:二者相似,却也有不同,让我们简单了解一下.

where和having的区别是where子句对一个表的所有记录进行操作,只搜索与指定条件相匹配的记录.

而having子句只对经过操作的表记录进行检索,对结果集进行更进一步的筛选,通常,having子句和group by子句相连,而where子句和select,delete和update语句相连.

广告内容

Mysql中where与having用法区别详解 Mysql中where与having用法区别详解 Mysql中where与having用法区别详解

相关阅读

热门评论

互联网十八般武艺 互联网十八般武艺

互联网十八般武艺

总篇数179

精选文章

RMAN中catalog和nocatalog区别介绍 小技巧:为Linux下的文件分配多个权限 zimbra8.5.1安装第三方签名ssl证书的步骤 解决mysql不能远程连接数据库方法 windows服务器mysql增量备份批处理数据库 mysql中slow query log慢日志查询分析 JavaScript跨域问题总结 Linux下负载均衡软件LVS配置(VS/DR)教程 mysql中权限参数说明 MYSQL(错误1053)无法正常启动

SEO最新算法