当前位置:首页 > SQL > 正文内容

MySQL中的where和having的区别

高老师10年前 (2017-06-23)SQL1892

   where与having非常类似.都能筛选数据.表达式完全一致.

   但是职责的确不同.where负责对表中的字段进行筛选,having负责对where筛选后的结果集再次

筛选。这也就是where不能使用别名字段来筛选的原因,因为数据中没有这个字段。

   where筛选从磁盘的数据库中筛选后临时保存在内存中,然后having负责继续筛选.也就是说能用where的地方一定都能用having,能用having的不一定能用where

   

   尽管having也能处理where的任务,但是尽可能不要这样做,mysql官方是这样推荐的,或许是考虑性能

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/294.html

分享给朋友:

“MySQL中的where和having的区别” 的相关文章

Mysql子句查询陷阱

Mysql子句查询陷阱

例如我们需要查询商品表中每个分类中商品id最大的记录,并且显示商品价格以下是表结构:id     catename         title &nb...

Mysql exists型子查询

Mysql exists型子查询

需求查询出存在商品的商品分类.    先看看分类表:id(分类的id)    catename(分类名) 1         手机 2 &n...

mysql触发器,mysql触发器语法,mysql创建触发器

mysql触发器,mysql触发器语法,mysql创建触发器

    触发器是一种特殊的事务,可以监听到Mysql的(insert/update/delete)的操作并触发相应的(insert/update/delete)操作.    触发器的创建主要有4个要素:(1).监听地点(...

 mysql count 性能优化,mysql count(*)优化

mysql count 性能优化,mysql count(*)优化

1.很多人认为count查询非常快,但是在加上筛选条件那就是未必的了!测试:user表中4000w数据(1).SELECT  count(*)   from user;   用时0.00s (2).SELECT...

mysql全文检索,mysql使用全文索引,mysql5.7全文索引

mysql全文检索,mysql使用全文索引,mysql5.7全文索引

1.查看歌曲表结构(主要是给name字段添加全文索引)(mysql5.7才支持全中文索引)desc   music; +---------+-------------+------+-----+---------+----------------+ | Fie...

mysql like _  通配符的使用

mysql like _ 通配符的使用

_通配符只匹配单个字符。假如products表存在以下数据: 需要匹配到prod_nameprod_id  prod_name JP1000  JetPack 1000 JP2000  JetPack 2000SQL语句:  SE...