Where and Having区别
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,Where和Having的异同(1)where是查询返回结果之前进行过滤的(2)having是查询返回结果之后,对结果进行过滤的(3)在SQL中增加 HAVING 子句原因是,where关键字无法与聚
千家信息网最后更新 2026年10月31日Where and Having区别
Where和Having的异同
(1)where是查询返回结果之前进行过滤的
(2)having是查询返回结果之后,对结果进行过滤的
(3)在SQL中增加 HAVING 子句原因是,where关键字无法与聚合函数一起使用,having子句常跟group by一同使用,过滤分组后的数据
测试表
mysql> select * from t_order;+--------+---------+------------+------------+| emp_no | dept_no | from_date | to_date |+--------+---------+------------+------------+| 22744 | d006 | 1986-12-01 | 9999-01-01 || 24007 | d005 | 1986-12-01 | 9999-01-01 || 30970 | d005 | 1986-12-01 | 2017-03-29 || 31112 | d002 | 1986-12-01 | 1993-12-10 || 40983 | d005 | 1986-12-01 | 9999-01-01 || NULL | d008 | 1986-12-01 | 1992-05-27 || 48317 | d008 | 1986-12-01 | 1989-01-11 || 49667 | d007 | 1986-12-01 | 9999-01-01 || 50449 | d005 | 1986-12-01 | 9999-01-01 || 10004 | d004 | 1986-12-01 | 9999-01-01 |+--------+---------+------------+------------+10 rows in set (0.00 sec)
Where后面如果提前使用列emp_no的别名aaa进行过滤的话,会报错列不存在,这是因为where字句是先对表进行过滤,才开始查询结果的
mysql> select emp_no as aaa from t_order where emp_no=22744;+-------+| aaa |+-------+| 22744 |+-------+1 row in set (0.00 sec)mysql> select emp_no as aaa from t_order where aaa=22744;ERROR 1054 (42S22): Unknown column 'aaa' in 'where clause'
Having后面可以跟列emp_no的原名或者别名aaa都可以,也可以跟group by,然后对分组后的聚合函数列进行筛选
mysql> select emp_no as aaa from t_order having emp_no=22744;+-------+| aaa |+-------+| 22744 |+-------+1 row in set (0.01 sec)mysql> select emp_no as aaa from t_order having aaa=22744;+-------+| aaa |+-------+| 22744 |+-------+1 row in set (0.00 sec)mysql> select dept_no,min(emp_no) aaa from t_order group by dept_no having aaa=31112;+---------+-------+| dept_no | aaa |+---------+-------+| d002 | 31112 |+---------+-------+1 row in set (0.00 sec)
结果
查询
函数
别名
子句
分组
关键
关键字
原名
原因
字句
异同
数据
这是
会报
测试
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
金融科技还是互联网
金融科技创新监管互联网金融
中资互联网科技
合肥互联网科技公司
互联网科技公司怎么样
为想互联网科技
丰台科技园 互联网
互联网科技logo
融贸通互联网科技
猫创互联网科技
顺网科技2021年互联网排名
成都仁贤领冠互联网科技有限公司
济南华为互联网科技产业总部基地
剑昆互联网络科技有限公司临桂
武汉健翔互联网络科技有限公司
阿大互联网科技有限公司
互联网科技圈年度人物
2021世界互联网领先科技成果发布
山东大美朱楼互联网科技有限公司
同城互联网络科技
互联网 科技
深圳科技互联网
互联网科技咨询
以后互联网后是啥科技
互联网科技教育视频
长沙互联网科技
陕西彩京云互联网科技有限公司
广东猫王互联网科技有限公司电话
互联网的黑科技实验室
如何强化互联网金融科技