1、where和having的执行级别不同

在查询过程中聚合语句(sum,min,max,avg,count)要比having子句优先执行.而where子句在查询过程中执行优先级别优先于聚合语句(sum,min,max,avg,count)。

having就是来弥补where在分组数据判断时的不足。因为where执行优先级别要快于聚合语句。

2、where和having的用途不同

having 和where 都是用来筛选用的 
having 是筛选组 而where是筛选记录

他们有各自的区别

1》当分组筛选的时候 用having

2》其它情况用where
-----------------------------------------------------
用having就一定要和group by连用,
用group by不一有having (它只是一个筛选条件用的)
-------------------------------------------------------
例子
表结构
部门编号 姓名 工资
1 aa 2000
2 bb 1200
1 cc 2100
2 dd 1800
1 ee 2100
3 ff 8000
2 gg 2200
3 hh 4500

查询有多个员工的工资不低于2000的部门编号
(就是说如果一个部门的员工大于2000的人数有两个或两个以上就查询出来)

select 部门编号,count(*) from 员工信息表
where 工资>=2000
group by 部门编号
having count(*)>1

where 针对每一条记录筛选
而 having 对同一个部门的分组
count(*)>1 计算多于两个的部门

查询结果为

1 3
3 2

数据库中where与having区别~~~相关推荐

  1. 谈谈数据库中MyISAM与InnoDB区别

    MyISAM:这个是默认类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法.与 ...

  2. 数据库中where和having区别

    1.where子句将单个行过滤到查询结果中,而having子句将分组过滤到查询结果中 2.having子句中使用的列名必须出现在group by子句列表中,或包括在聚集函数中. 3.having子句的 ...

  3. oracle和SQLserver数据库中select into 的区别

    在Oracle中是这样的 Create tableA as select * from tableB where 1=0 or 1=1 在SQLserver中是这样的 select * into ta ...

  4. 数据库中的字段varchar类型和char类型的区别?

    数据库中的字段varchar类型和char类型的区别? 目录 数据库中的字段varchar类型和char类型的区别?

  5. 数据库中char varchar nchar nvarchar的区别

    数据库中char varchar nchar nvarchar的区别 我们在进行数据库的设计的时候,很多情况下表中的字段都是用的是字符串类型的数据,其中就有四种选择char varchar nchar ...

  6. mysql id in set_mysql数据库中find_in_set()和in()用法区别

    mysql数据库中find_in_set()和in()用法区别 (2015-07-19 08:30:21) 标签: mysql数据库 find_in_set 在mysql中in可以包括指定的数字,而f ...

  7. python 空值_数据库中的空值与NULL的区别以及python中的NaN和None

    展开全部 数据库里面的"32313133353236313431303231363533e59b9ee7ad9431333363393632空值"有两种:空字符("&qu ...

  8. SQL数据库中临时表、临时变量和WITH AS关键词创建“临时表”的区别

    原文链接:https://www.cnblogs.com/zhaowei303/articles/4204805.html SQL数据库中数据处理时,有时候需要建立临时表,将查询后的结果集放到临时表中 ...

  9. mysql数据库中key 、primary key 、unique key 与index区别

    所有的MySQL索引(PRIMARY.UNIQUE和INDEX)在B树中存储.字符串是自动地压缩前缀和结尾空间. 下面是建表的语句: CREATE TABLE `phpcolor_ad` ( `id` ...

最新文章

  1. QTP中对数据库的操作(查询,更新和删除等)
  2. 刨根问底,Kafka消息中间件到底会不会丢消息
  3. Python开发基础总结之模块+日志+自省
  4. A - System Administrator CodeForces - 245A(水题)
  5. 数据中台建设五步法(文末赠书)
  6. android自定义图片过渡效果,教你做出炫酷的Android动画效果
  7. TikTok是下一个流量蓝海吗?用户规模超抖音?
  8. python函数的四个特点_Python面向对象三大特征之封
  9. 3 编程基础 Makefile
  10. 可爱的HOOk技术(一)
  11. JDK8的下载和安装,以及配置环境变量
  12. Excel---饼图美化与ppt图表
  13. 必应(Bing)的站内搜索 site:<域名> <搜索内容>
  14. WinMerge的使用(代码相同却提示有差异)。
  15. 在Verilog里边 always@(*)语句是什么意思
  16. 纯小白适合了解的3D游戏建模科普知识,通过培训能入行吗?
  17. [elixir! #0015][译] 学习 GenStage by Joseph Kain
  18. Linux系统磁盘分区及挂载 - fdisk
  19. Java 随手写的一个英语单词练习器
  20. 警方可以通过智能手机来追踪简易爆炸装置

热门文章

  1. elementary安装Java,elementary os怎么样安装java
  2. java JFileChooser选择文件和保存文件
  3. 半个小时用计算机怎么算,CPA机考计算器操作指南,掌握这些快捷键,考试“延长”半小时!...
  4. xss漏洞php注射实战,利用XSS渗透DISCUZ 6.1.0实战
  5. fopen php 读取_PHP使用fopen与file_get_contents读取文件实例分享
  6. python四级中考有用的_一位中考生家长的后悔药:考前30多天,千万别做这7件傻事...
  7. python爬虫高级知识点_Python爬虫知识点梳理总结,殿堂级小白入门必读
  8. php+mysql记事本_一个简单记事本php操作mysql辅助类创建
  9. mf模型 svd++_序列推荐模型(一): FPMC
  10. 信息系统项目管理师_信息系统项目管理师通过率是多少?