Where and Having区别
admin
2023-04-23 04:22:11
0

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)



上一篇:PMM监控MySQL

下一篇:mysql数据库基础

相关内容

热门资讯

今日重大通报“纸上战争辅助器?... 今日重大通报“纸上战争辅助器?”(太坑了果然有挂)您好,纸上战争这个游戏其实有挂的,确实是有挂的,需...
今日重磅消息“宝宝浙江游戏怎么... 您好:宝宝浙江游戏这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款...
今日重磅消息“家乡大贰是不是有... 您好:家乡大贰这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款游戏...
今日重大消息“新蛮王炸/金/花... 网上科普关于“新蛮王炸/金/花有没有挂”话题很是火热,小编也是针对新蛮王炸/金/花作*弊开挂的方法以...
驻马店千亿级产业集群激活制造新... 隆冬时节,乍寒还暖。豫南平原的麦苗在暖阳中舒展腰肢,而驻马店星罗棋布的工业园区内,另一股“生长”力量...
“街角会客厅” 这样做更出彩 洛阳市瀍河回族区杨文街道杨文社区,居民在党群服务中心参加趣味活动。李卫超 许红丽 摄社区治理的活力,...
幸福感如此“热气腾腾” ——从... 社区是城市的“细胞”。基层何以善治?或许可以从一个社区的实践探索中窥其端倪。“要不是张师傅反应快,我...
奋力推进一季度开好局丨用锌织就... 春潮涌动处,奋进正当时。1月10日,天气晴好,位于济源经开区的河南金利金铅集团15万吨/年低碳短流程...
看见·活力河南丨2025年同比... 河南日报讯 (记者 卢松 通讯员 李汶哲)1月9日,记者从信阳港·淮滨中心港区获悉,2025年度,港...
玩家攻略科普“吉林白山麻将到底... 玩家攻略科普“吉林白山麻将到底是不是挂?”(外卦神器下载)您好,吉林白山麻将这个游戏其实有挂的,确实...