Where and Having区别
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,Where和Having的异同(1)where是查询返回结果之前进行过滤的(2)having是查询返回结果之后,对结果进行过滤的(3)在SQL中增加 HAVING 子句原因是,where关键字无法与聚
千家信息网最后更新 2025年11月07日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安全错误
数据库的锁怎样保障安全
科学技术大数据库
中国第一网络安全员
路由服务器不同网段
nodejs进程查询数据库
增城正规的app软件开发
南通政务软件开发技术
hp服务器进bios
美国东北大学网络安全
网络安全系统的规划方案
服务器管理器 没有激活
日照市启动网络安全宣传周
网易版我的世界服务器奖励箱
河北在线软件开发
服务器管理怎样可以快速
数据库备份数据为何打不开
武汉软件开发厂家
网络安全拟态防御专题报告
数据库count
北京合一致远网络技术有限公司
黑龙江特种网络技术标准
达人天津网络技术
我的世界谁有服务器
ptp时间服务器
网络技术得信上海百首网络
软件开发 微信
国防科技技术学院互联网
云服务器访问现场数据库
人民网地方领导干部数据库
武汉大学网络安全学院学生
西城区进口软件开发怎么样