加入收藏 | 设为首页 | 会员中心 | 我要投稿 鹤壁站长网 (https://www.0392zz.cn/)- 分布式云、存储数据、视频终端、媒体处理、内容创作!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mysql中where与having用法区别详解

发布时间:2022-06-18 08:36:41 所属栏目:MySql教程 来源:互联网
导读:很多初用mysql的朋友可能搞不清楚在mysql中where与having的区别在哪里,下面我来简单的举几个实例来介绍where与having的区别吧. 让我们先运行2个sql语句,代码如下: SELECT * FROM `welcome` HAVING id 1 LIMIT 0 , 30 SELECT * FROM `welcome` WHERE id 1 LIM
  很多初用mysql的朋友可能搞不清楚在mysql中where与having的区别在哪里,下面我来简单的举几个实例来介绍where与having的区别吧.
 
  让我们先运行2个sql语句,代码如下:
 
  SELECT * FROM `welcome` HAVING id >1 LIMIT 0 , 30
   
  SELECT * FROM `welcome` WHERE id >1 LIMIT 0 , 30
  查看一下结果吧,怎么样?是不是查询到相同的结果,让我们再看2个sql语句,代码如下:
 
  SELECT user, MAX(salary) FROM users GROUP BY user HAVING MAX(salary)>10;
   
  SELECT user, MAX(salary) FROM users GROUP BY user WHERE MAX(salary)>10;
  怎么样?看出差别了吗,第一个sql语句可以正常运行,旧版mysql可能会出错,而第二个则会报错.
 
  如果你没看出我们再看.
 
  •WHERE子句是在第一步从表或视图中配全SELECT子句把数据过滤性地查询出来,代码如下:
 
  select * from table_a where title1='a';   
  select * from table_a where title1='a';
  •HAVING子句是在SELECT子句与WHERE子句把查询出来的结果存放到内存中的二次过滤,代码如下:
 
  1.select * from table_a     
  2.where title1='a'    --phpfensi.com
  3.having content2 like 'b%'  
  总结:二者相似,却也有不同,让我们简单了解一下.
 
  where和having的区别是where子句对一个表的所有记录进行操作,只搜索与指定条件相匹配的记录.
 
  而having子句只对经过操作的表记录进行检索,对结果集进行更进一步的筛选,通常,having子句和group by子句相连,而where子句和select,delete和update语句相连.

(编辑:鹤壁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读