最新要闻
- vivo或首发全球最快内存!海力士LPDDR5T已完成验证
- 北京:152架次无人机为灾区空投应急物资
- 世界级汽车品牌成了!比亚迪达成第500万辆新能源汽车下线
- 闭眼买!已有1000多位米粉下单小米MIX Fold 3
- 为了保存人类文明火种 艺术家要把30000件作品送上月球
- 首发139元 小米发布米家理发器2:锋利曜黑刀头
- 14代i5-14600KF挤牙膏:单核性能提升5.5%
- 警惕“李鬼”基金!多家公司发声提醒投资者谨防诈骗|基金观察
- 200飙到1300 国庆假期有酒店涨价5倍:你还出去玩吗?
- 下班后微信办公算加班吗?法院判了
- 大众为何选择小鹏?背后原因分析
- 女子花12888元抢自助餐年卡 当事人:一天只要35元
- 网传上海迪士尼有小孩子在漂流中跳船?不实!
- 共享单车能载娃了 郑州将投放9000辆共享亲子车
- 稀土等被制约下!美国开始疯抢“白色石油”
- 女子翻看去世爸爸手机后破防了:爸爸收藏夹里全是我
广告
手机
![顺络电子:董事长部分股权办理股票质押业务](http://www.viltd.com/uploadfile/2022/0610/20220610103218963.jpg)
顺络电子:董事长部分股权办理股票质押业务
![深圳7月二手住宅成交2259套,中介称近期咨询客户开始增加](http://www.viltd.com/uploadfile/2022/0610/20220610103218963.jpg)
深圳7月二手住宅成交2259套,中介称近期咨询客户开始增加
- 顺络电子:董事长部分股权办理股票质押业务
- 深圳7月二手住宅成交2259套,中介称近期咨询客户开始增加
- 最新洪水形势如何?时隔多年为何又见洪水?解答来了!
- 李明俊在调研白龟湖科创新城和环湖路建设工作时强调 勇于担当负责 善于创新突破 着力打造群众满意的放心工程
- 遮天:东荒两大家族登场,庞博成为妖王,妖族公主颜如玉绝美登场
- 京运通: 我司自扩产硅片业务以来,所有单晶炉均为自供
家电
选读SQL经典实例笔记22_2版增补
【资料图】
1.2版DB版本
1.1.DB2 11.5
1.2.Oracle 19c
1.3.PostgreSQL 12
1.4.MySQL 8.0
1.5.SQL Server 2017
2.子查询
2.1.如果想创建虚拟表,以便对其执行包含窗口函数或聚合函数的查询,那么最简单的做法无疑是使用子查询
2.2.只需编写一个查询并将其放在括号内,然后再编写另一个使用它的查询
2.3.有些 RDBMS 要求给子查询表指定别名,有些则不要求这样做
2.3.1.Oracle 不要求
2.4.示例
2.4.1.sql
select max(HeadCount) as HighestJobHeadCount from(select job,count(empno) as HeadCountfrom empgroup by job) head_count_tab
3.通用表表达式
3.1.为了克服子查询的一些局限性,引入了 CTE
3.1.1.让 SQL 支持递归
3.2.CTE 的可读性更高
3.2.1.sql
with head_count_tab (job,HeadCount) as(select job,count(empno)from empgroup by job)select max(HeadCount) as HighestJobHeadCountfrom head_count_tab
3.3.递归 CTE 来计算前 20 个斐波那契数
3.3.1.sql
with recursive workingTable (fibNum, NextNumber, index1)as(select 0,1,1union allselect fibNum+nextNumber,fibNUm,index1+1from anchorwhere index1<20)select fibNum from workingTable as fib
3.3.2.关键字 RECURSIVE,它在 MySQL、Oracle 和 PostgreSQL 中必不可少,但在 SQL Server 和 DB2 中是可选的
3.3.3.index1 列旨在简化在 WHERE 子句中指定返回行数的工作
3.3.4.WHERE 子句至关重要,如果没有它,查询将不会终止
4.根据发音比较字符串
4.1.匹配单词
4.1.1.匹配拼写正确和拼写错误的单词
4.1.2.匹配拼写方式不同(比如英式拼写和美式拼写)的单词
4.1.3.匹配由不同字符串表示的单词
4.1.3.1.查找拼写不同但发音相同的字符串
4.2.函数 SOUNDEX 将字符串转换为英语发音
4.2.1.SOUNDEX 会保留第一个字母,并将其他字母替换为数字
4.2.2.发音相似的字母将被替换为相同的数字
4.3.SQL Server 函数 DIFFERENCE 会使用 SOUNDEX 对两个字符串进行比较,并返回表示相似程度的数字 0~4
4.4.sql
a_name----1 Johnson2 Jonson3 Jonsen4 Jensen5 Johnsen6 Shakespeare7 Shakspear8 Shaekspir9 Shakespar
4.4.1.sql
select an1.a_name as name1, an2.a_name as name2, SOUNDEX(an1.a_name) as Soundex_Name from author_names an1 join author_names an2 on (SOUNDEX(an1.a_name)=SOUNDEX(an2.a_name) and an1.a_name not like an2.a_name)
5.查找与模式不匹配的文本
5.1.sql
select emp_id, text from employee_commentEMP_ID TEXT---------- ------------------------------------------------------------7369 126 Varnum, Edmore MI 48829, 989 313-53517499 1105 McConnell Court Cedar Lake MI 48812 Home: 989-387-4321 Cell: (237) 438-3333
5.2.列出其中电话号码格式不正确的行
5.3.sql
select emp_id, textfrom employee_commentwhere regexp_like(text, "[0-9]{3}[-. ][0-9]{3}[-. ][0-9]{4}") and regexp_like( regexp_replace(text, "[0-9]{3}([-. ])[0-9]{3}\1[0-9]{4}",""), "[0-9]{3}[-. ][0-9]{3}[-. ][0-9]{4}") EMP_ID TEXT---------- ------------------------------------------------------------ 7369 126 Varnum, Edmore MI 48829, 989 313-5351 7844 989-387.5359 9999 906-387-1698, 313-535.8886
6.使用绝对中位差找出异常值
6.1.值存在疑问的原因
6.1.1.数据收集方式有问题
6.1.1.1.记录值的仪表存在误差
6.1.2.数据输入错误导致的
6.1.3.数据生成时环境出现异常
6.1.3.1.意味着数据点是正确的,但应谨慎根据数据得出任何结论
6.2.检测异常数据的常用方法
6.2.1.计算数据的标准偏差,并将超过 3 倍标准偏差(或其他类似距离)的数据点视为异常数据
6.2.2.如果数据不符合正态分布,则这种方法可能错误地识别异常数据,而当数据分布不对称,或者如果你远离平均值,数据就不像正态分布那样变得稀疏时更是如此
6.3.偏差是中值与各个值的绝对差
6.4.绝对中位差是偏差的中值
6.5.Oracle
6.5.1.sql
withDeviation (Deviation) as(select abs(sal-median(sal))from emp),MAD (MAD) as(select median(Deviation)from Deviation )select abs(sal-median)/MAD, sal, ename, jobFROM MAD join emp
6.6.SQL Server
6.6.1.sql
with median (median)as(select distinct percentile_cont(0.5) within group(order by sal) over()from emp),Deviation (Deviation) as(Select abs(sal-median)from emp join median on 1=1),MAD (MAD) as(select DISTINCT PERCENTILE_CONT(0.5) within group(order by deviation) over()from Deviation )select abs(sal-median)/MAD, sal, ename, jobfrom MAD join emp on 1=1
6.7.DB2
6.8.PostgreSQL
6.9.PERCENTILE_CONT 被视为聚合函数,而不是窗口函数
6.9.1.sql
with median (median)as(select percentile_cont(0.5) within group(order by sal)from emp),devtab (deviation) as(select abs(sal-median)from emp join median),MedAbsDeviation (MAD) as(select percentile_cont (0.5) within group(order by deviation)from devtab)select abs(sal-median)/MAD, sal, ename, jobFROM MedAbsDeviation join emp
6.10.MySQL
6.10.1.sql
with rank_tab (sal, rank_sal) as (select sal, cume_dist() over (order by sal)from emp),inter as(select sal, rank_sal from rank_tabwhere rank_sal>=0.5unionselect sal, rank_sal from rank_tabwhere rank_sal<=0.5),medianSal (medianSal) as(select (max(sal)+min(sal))/2from inter),deviationSal (Sal,deviationSal) as(select Sal,abs(sal-medianSal)from emp join medianSalon 1=1),distDevSal (sal,deviationSal,distDeviationSal) as(select sal,deviationSal,cume_dist() over (order by deviationSal)from deviationSal),DevInter (DevInter, sal) as(select min(deviationSal), salfrom distDevSalwhere distDeviationSal >= 0.5unionselect max(DeviationSal), salfrom distDevSalwhere distDeviationSal <= 0.5),MAD (MedianAbsoluteDeviance) as(select abs(emp.sal-(min(devInter)+max(devInter))/2)from emp join DevInter on 1=1)select emp.sal,MedianAbsoluteDeviance,(emp.sal-deviationSal)/MedianAbsoluteDeviancefrom (emp join MAD on 1=1) join deviationSal on emp.sal=deviationSal.sal
6.10.2.没有提供函数 MEDIAN 或 PERCENTILE_CONT
6.10.3.需要在 CTE 中使用两个子查询
6.11.计算中值,然后计算这个中值与各个值的绝对偏差的中值,即绝对中位差
6.12.使用查询来找出每个值相对于中值的偏差与绝对中位差的比值
6.13.可以像使用标准偏差那样使用这些比值了
6.13.1.如果一个值相对于中值的偏差是绝对中位差的 3 倍以上,就可以认为它是异常值
6.14.优点
6.14.1.即便数据不呈正态分布,它依然有效
6.14.2.即便数据分布不平衡,绝对中位差给出的答案依然合理
7.使用本福特法则查找反常数据
7.1.检测不像异常值那样显而易见的反常数据的一种方式是查看数字位的出现频率,这种频率通常符合本福特法则
7.2.本福特法则最常用于检测数据造假
7.2.1.在数据集中人为地添加伪造的数字
7.2.2.用于检测不符合预期规律的数据
7.3.本福特法则
7.3.1.计算数字位的期望分布
7.3.2.将其与实际分布进行比较
7.4.sql
withFirstDigits (FirstDigit)as(select left(cast(SAL as CHAR),1) as FirstDigit from emp),TotalCount (Total)as (select count(*) from emp),ExpectedBenford (Digit,Expected)as (select ID,(log10(ID + 1) - log10(ID)) as expected from t10 where ID < 10)select count(FirstDigit),Digit,coalesce(count(*)/Total,0) as ActualProportion,ExpectedFrom FirstDigits Join TotalCount Right Join ExpectedBenford on FirstDigits.FirstDigit=ExpectedBenford.Digitgroup by Digitorder by Digit
7.5.最终的结果集包含 4 列数据,分别是第一位的预测频率、第一位的实际频率、本福特法则预测的前几位的频率,以及前几位的实际频率
8.SQL 不像专用包 SAS、统计编程语言 R 和 Python 统计库那样提供了完备的统计工具
9.SQL Server
9.1.PIVOT操作符
9.1.1.sql
DEPT_10 DEPT_20 DEPT_30 DEPT_40------- ---------- ---------- ---------- 3 5 6 0
9.1.2.sql
select [10] as dept_10, [20] as dept_20, [30] as dept_30, [40] as dept_40 from (select deptno, empno from emp) driver pivot ( count(driver.empno) for driver.deptno in ( [10],[20],[30],[40] ) ) as empPivot
9.1.2.1.不使用CASE表达式或额外的连接操作
9.2.UNPIVOT操作符
9.2.1.sql
ACCOUNTING RESEARCH SALES OPERATIONS---------- ---------- ---------- ---------- 3 5 6 0
9.2.2.sql
DNAME CNT-------------- ----------ACCOUNTING 3RESEARCH 5SALES 6OPERATIONS 0
9.2.3.sql
select DNAME, CNT from ( select [ACCOUNTING] as ACCOUNTING, [SALES] as SALES, [RESEARCH] as RESEARCH, [OPERATIONS] as OPERATIONS from ( select d.dname, e.empno from emp e,dept d where e.deptno=d.deptno ) driver pivot ( count(driver.empno) for driver.dname in ([ACCOUNTING],[SALES],[RESEARCH],[OPERATIONS]) ) as empPivot ) new_driver unpivot (cnt for dname in (ACCOUNTING,SALES,RESEARCH,OPERATIONS) ) as un_pivot
关键词:
-
-
-
-
选读SQL经典实例笔记22_2版增补
vivo或首发全球最快内存!海力士LPDDR5T已完成验证
北京:152架次无人机为灾区空投应急物资
世界级汽车品牌成了!比亚迪达成第500万辆新能源汽车下线
闭眼买!已有1000多位米粉下单小米MIX Fold 3
为了保存人类文明火种 艺术家要把30000件作品送上月球
首发139元 小米发布米家理发器2:锋利曜黑刀头
14代i5-14600KF挤牙膏:单核性能提升5.5%
警惕“李鬼”基金!多家公司发声提醒投资者谨防诈骗|基金观察
[数论第三节]高斯消元法/求组合数/卡特兰数
200飙到1300 国庆假期有酒店涨价5倍:你还出去玩吗?
下班后微信办公算加班吗?法院判了
大众为何选择小鹏?背后原因分析
女子花12888元抢自助餐年卡 当事人:一天只要35元
网传上海迪士尼有小孩子在漂流中跳船?不实!
共享单车能载娃了 郑州将投放9000辆共享亲子车
稀土等被制约下!美国开始疯抢“白色石油”
女子翻看去世爸爸手机后破防了:爸爸收藏夹里全是我
全球最快LPDDR5T内存登场!全大核CPU架构天玑9300完成性能验证
吴忠交通投资开发有限公司2023年度购置纯电动新能源公交车项目公开招标
记录一个,百度云直链解析的方法和地址
后缀数组C++详解
买车就送“地下室”!五菱宝骏云朵上市:9.58万起
顶级奢华!布加迪Chiron Golden Era官图发布:配8.0T W16大心脏
长城汽车进军印尼市场 多款智能新能源亮相车展
农业和植保专家组深入一线指导防灾减灾救灾
一天吃掉430吨面条,苏州要为苏式面制定地方标准
男子目不斜视闯红灯被撞还需负全责 官方提醒:等三分不抢一秒
首发1999元 JBL冲击波五代蓝牙音箱上架:20小时长续航
想买电车?等一等宁德时代发布会再说
淘宝用户又回来了!阿里巴巴:核心业绩全面超预期
县城整治医药腐败 数百人主动退赃 网友:希望从严处置别自罚三杯!
财政部、水利部紧急下达15亿元水利救灾资金 支持受灾地区做好水利水毁设施修复工作
年度性能之王Redmi K60至尊版稳了!员工:友商等着瞧吧
阿里组织变革后首份财报发布:2024第一财季营收2341.6亿元 增长14%
大梁+四驱 后排还有2米纯平大床!全新哈弗H5开启预订
Dota2发布周边商城运营事故处理公告:涉事人员调离
月活8.77亿!淘宝稳居电商平台第一
七大车企组成充电联盟“死磕”特斯拉
《人脸识别技术应用安全管理规定(征求意见稿)》,需要关注三个焦点
【车载测试】CAN协议、CAN- FD协议和FlexRay协议 区别
损害工商界利益 扰乱产业链供应链——美国对外投资审查行政令引发质疑和担忧
西蒙尼专访:今夏没和若昂谈过;不认为他在马竞有所保留
iPhone 15 Pro Max无缘!三星M13 OLED屏曝光
国内消费者给足面子 大众ID.3 7月销量3倍暴涨!仅售12.69万起
续航夸张!雷军4个字评价小米MIX Fold 3续航:遥遥领先
电子墨水屏又出新用途:夏普推出13/25英寸彩色墨水电子海报
电影《我不是药神》白血病人饰演者成捐髓者:网友点赞
债市日报:8月10日
【财经分析】从“万盏灯火”到“流连忘返” 夜间消费实现多元蜕变
《莲花楼》李相夷死了吗 剧里李莲花是不是活着
荣耀新一代16英寸锐龙本开卖:标压7840HS首发仅4399元
上市一周年狂卖近10万台:比亚迪海豹拿奖拿到手软!
明明天气挺好 火车却为何停运?官方解答来了
折叠屏折痕问题被根治!小米MIX Fold 3使用5年后 折痕近乎没变
刚发布一个月 索尼A6700微单曝显示屏颜色BUG 官方紧急修复
国家电网开展抢修复电 这些受灾地区电力设施已恢复→
manacher(马拉车)算法C++详解
科创板收盘播报:科创50指数涨0.19% 电气设备股多数上涨
AI不行了?英伟达市值一夜蒸发3700亿元:85倍市盈率太夸张
王传福"三哭"比亚迪:烧钱、被嘲笑、一度只求别死掉
优化“大船感” 理想汽车魔毯空悬2.0正式推送:转弯刹车更稳定
韩国LK-99室温超导被打假 中科院指出假象来源:硫化亚铜杂质
《街头霸王6》忍者神龟DLC引热议 玩家吐槽定价过高
2023年全球低碳冶金创新论坛暨第十二届中国国际钢铁大会将于10月举行
【专题】快速幂
阜康民警张全会:心系群众,守护辖区温馨
斥资万亿美元!沙特要建全球最高建筑:占地超306平方公里
老外天天用的家电在中国却不吃香 原因让人服气
电视卖不出去了 销量暴跌25%!第一名换人
纵享绵密!上行斋生巧福团大促:券后1.5元/枚
不是烂片!《封神第一部》总票房突破18亿 距30亿回本又进了
国盛金控8月10日快速上涨
Stable Diffusion AI绘画常用插件整理
山东布谷科技直播软件源码探索高效、稳定直播传输的技术介绍:流媒体传输技术
智能化改变城市生活:人工智能和大数据重塑智慧城市格局
【环境、社会和治理 (ESG) 】Sphera与上海道宁为您提供咨询、数据和软件的独特组合
肇民科技:公司产品有应用于氢能源车领域
1.74英寸60Hz大屏!小米手环8 Pro上架开启预约
001不会改款!极氪百万超跑官宣:打破传统千万级超豪华跑车性能垄断
新能源车砸了汽修人饭碗:油车时代月赚7万 现在只有5000
买新房可享50%契税补贴!郑州各地最新消息
仅仅7天的时间!俄军打光约50万发炮弹,乌军多线“溃败”
springboot+activiti+vue+mysql轻松搞定审批!
勒索软件野蛮生长,迷雾中企业何去何从
Power BI: 如何设置平滑曲线?
1.顺序结构习题
这么分页,小心有坑
2-1!川足终于赢了,中甲3场0球后爆发,李毅暂渡过下课危机
比百亿补贴还要低!冷酸灵泵式牙膏狂促:券后3支39.9元
华为投资控股有限公司发生工商变更 增资至513亿元
国内油价下一轮调整8月23日开启 机构预测“五连涨”
7战7捷 中国民营火箭谷神星一号遥七火箭发射成功:7颗卫星入轨
华为满血回归对荣耀影响最大?赵明:最好的尊重是彼此用最强的产品在顶峰相见
中新观陇“新闻+”作品联展第15站:书香弥漫兰州新区 展览“艺”犹未尽
日本禁售小龙虾?歪果仁不懂美味?中国其实才是后来者
7年Wi-Fi专利战结束 三星与美国加州理工和解:赔偿未公布
不止骁龙8 Gen2!一加Ace2 Pro官宣24GB+1TB存储组合
美媒称月球上可能已存在生命:俄罗斯“月球-25”号明天凌晨发射 目标南极
特斯拉胜诉特斯拉啤酒商标侵权案:获赔500万!