1.类型:

“Where”是一个约束声明,在查询数据库的结果返回之前对数据库中的查询条件进行约束,即在结果返回之前起作用,且where后面不能使用“聚合函数”;

“Having”是一个过滤声明,所谓过滤是在查询数据库的结果返回之后进行过滤,即在结果返回之后起作用,并且having后面可以使用“聚合函数”。

2.使用的角度:

where后面之所以不能使用聚合函数是因为where的执行顺序在聚合函数之前,

如下面这个sql语句:select sum(score) from student group by student.sex where sum(student.age)>100;

having既然是对查出来的结果进行过滤,那么就不能对没有查出来的值使用having,

如下面这个sql语句: select student.id,student.name from student having student.score >90;

总结:
having 和where 都是用来筛选用的,having 是筛选组 而where是筛选记录。
他们有各自的区别:
1、当分组筛选的时候 用having。
2、其它情况用wherewhere和having的执行级别不同。
select 职工号 from 职工 where 工资>1000。

group by 职工号 having 工资>1000。

select 工资 from 职工 where 工资>1000。

group by 工资 having 工资>1000。

Having后面的从句是分组的条件,两种写法不同。

WHERE 在分组和聚集计算之前选取输入行,因此,它控制哪些行进入聚集计算, 而 HAVING 在分组和聚集之后选取分组的行。

SQL语句中having与where的区别相关推荐

  1. Sql语句中IN和exists的区别及应用

    表展示 首先,查询中涉及到的两个表,一个user和一个order表,具体表的内容如下: user表: order表: in 确定给定的值是否与子查询或列表中的值相匹配.in在查询的时候,首先查询子查询 ...

  2. sql语句中的change和modify区别

    区别:相同点是change和modify都可以修改表的定义,不同的是change后面需要写两次列名,不方便,但可以修改列名称.modify则不能修改列名称. 修改表类型语法如下: AlTER TABL ...

  3. Sql语句中in和exits的区别

    "小明" in (select sname from student) 等同于 exists (select * from student where sname="小明 ...

  4. SQL语句中exists和in的区别

    https://www.cnblogs.com/emilyyoucan/p/7833769.html

  5. Sql 语句中 IN 和 EXISTS

    原文链接:  (2条消息)Sql 语句中 IN 和 EXISTS 的区别及应用 - jcpp9527的博客 - CSDN博客 https://blog.csdn.net/wqc19920906/art ...

  6. SQL语句中字段的拼接

    原始sql语句及效果如下: string sq = @"select gx_plan.id,fk_sec.factory as 本厂编号, `order` as 序号,gx_plan.Tot ...

  7. sql语句中left join和inner join中的on与where的区别分析

    原文:sql语句中left join和inner join中的on与where的区别分析 关于SQL SERVER的表联接查询INNER JOIN .LEFT JOIN和RIGHT JOIN,经常会用 ...

  8. SQL点滴31—SQL语句中@@IDENTITY和@@ROWCOUNT区别

    原文:SQL点滴31-SQL语句中@@IDENTITY和@@ROWCOUNT区别 SQL语句中@@IDENTITY和@@ROWCOUNT区别 在一条 INSERT.SELECT INTO 或大容量复制 ...

  9. 03-映射文件的sql语句中 #{} 和 ${} 的区别以及实现模糊查询

    映射文件的sql语句中 #{} 和 ${} 区别以及实现模糊查询 目录 sql 语句中的 #{} #{} 模糊查询错误用法 #{} 实现模糊查询 sql 语句中的 ${} ${} 实现模糊查询 #{} ...

最新文章

  1. GEMM与AutoKernel算子优化
  2. ACMNO.3 有三个整数a b c,由键盘输入,输出其中的最大的数。 输入 一行数组,分别为a b c 输出 a b c其中最大的数 样例输入 10 20 30 样例输出 30
  3. AOP代理配置pointcut
  4. csgo卡程序关不掉_微信推QQ小程序,取代QQ?网友:这功能有用?
  5. c++将小数化为二进制_C/C+学习笔记:C语言实现任意进制转换,代码全解析!...
  6. [转]C#多线程学习(三) 生产者和消费者
  7. 【HDU - 6203】ping ping ping(lca+贪心思想,对lca排序,树状数组差分)
  8. PAT刷题笔记-PAT乙1018-锤子剪刀布
  9. 学习JAVA环境搭建之下载安装MyEclipse 6.5
  10. web server linux,GitHub - markparticle/WebServer: C++ Linux WebServer服务器
  11. WPF中使用StackPanel,Border进行简单布局
  12. Python Google关键词搜索 Google人机验证
  13. 机器学习算法(三十):强化学习(Reinforcement Learning)
  14. 不平衡数据分类实证-R语言
  15. 天基实业投资理财需了解的基础知识
  16. Docker报错:E: Unable to locate package python3
  17. 前端面试题 ~ 移动端注意
  18. 微信小程序获取用户昵称和头像
  19. Packet Tracer相关命令
  20. zookeeper集群安装和配置解读 - 雨中散步撒哈拉

热门文章

  1. 百度CEO李彦宏为何这么拼
  2. 交通大学c语言作业,交通大学C语言第二次作业说课讲解.docx
  3. 查看linux网口连接时间,linux检测网口连接状态
  4. 计算机网络基础知识--TCP/IP协议、IP分组、TCP传输
  5. HTML5贪吃蛇代码
  6. 工具 | RaiDrive—将网盘映射为磁盘
  7. 一个专业的地图制作网站,怎么自己制作地图?
  8. [渝粤教育] 天津科技大学 化工热力学 参考 资料
  9. C语言课设 航空订票系统
  10. linux的debin版本,8个最佳的基于Debian的Linux发行版