用法1:用having语句进行比较找出是否有缺失行
适用情况:数据行存在遗漏,需要找出遗漏数据
案例1:寻找缺失的编号
![](https://img.haomeiwen.com/i18077969/309dc6c9d0acda8b.png)
![](https://img.haomeiwen.com/i18077969/dcf4d7cb934f4051.png)
案例1.1 找到所有缺失编号的最小值
缺点:此种查询不全,不能覆盖最小缺失编号为1和存在null值的情况,两种情况下会报错
![](https://img.haomeiwen.com/i18077969/edddf07049fc6257.png)
用法2:用having语句进行子查询求众数
适用情况:平均值无法反应真实情况,数据集出现极大值或者极小值,需要用众数表示
案例:求出出现最多的收入
![](https://img.haomeiwen.com/i18077969/161879069222e313.png)
![](https://img.haomeiwen.com/i18077969/254df9d59dc128e7.png)
![](https://img.haomeiwen.com/i18077969/5dbf56de36a4a1f8.png)
用法3:用having语句进行子查询求中位数
适用情况: 平均值无法反应真实情况,数据集出现极大值或者极小值,需要用中位数表示
案例:求出收入的中位数
![](https://img.haomeiwen.com/i18077969/6ae6217f120db8ba.png)
![](https://img.haomeiwen.com/i18077969/9423e2bf69888c35.png)
用法4:查询不包含NULL 的集合
适用情况:当涉及到null的计算会更为复杂,需要将null部分排除掉,仅保留不含null的数据集合
案例:找出student表中日期不为null
的学院
区别:count(*)可以计算null的行,count(字段)不能计算null的行
![](https://img.haomeiwen.com/i18077969/ee3ec360c4c03afc.png)
![](https://img.haomeiwen.com/i18077969/c0ea68262bd9fc63.png)
![](https://img.haomeiwen.com/i18077969/f77ca727817e2a41.png)
用法5:关系除法运算
适用情况:需要从连接条件中排除某些条件时
案例:购物篮分析,筛选出商品完全相等的地区
![](https://img.haomeiwen.com/i18077969/b14c3c28860bf669.png)
![](https://img.haomeiwen.com/i18077969/b82417c5315b47d0.png)
![](https://img.haomeiwen.com/i18077969/12c8ad32455af02c.png)
![](https://img.haomeiwen.com/i18077969/470b8d51122e04a6.png)
网友评论