最新要闻
- 加满一箱油少花13元!油价迎今年来最大降幅
- 天天热资讯!2020广州大佛寺中秋佳节拜月法会安排一览
- 汉唐元三车齐发!比亚迪乘用车在西班牙正式开售
- 【世界独家】不虚标!比亚迪汉EV冠军版实测光电续航达成率93.1%
- 世界今热点:中国最畅销手机出炉:“十三香”传奇上演 安卓高端难成
- 内存狂魔第一次冲上8200MHz!芝奇带来96GB DDR5
- 佛山企业标准“领跑者”数量连续三年全国第一
- 当前视点!腮腺炎初期有什么症状?_腮腺炎初期有什么症状
- 今日要闻!验证码被攻破!谷歌AI已能精准识别 GPT-4则装瞎求人帮忙
- 美女博主在家拍擦边视频?穿瑜伽服涨粉百万!真相是...
- 全球今头条!3DMark加入AMD FSR专项测试:终于追上NVIDIA、Intel
- 全球报道:广汽埃安AION Y Plus 2023款上市:14万级唯一纯电610KM续航
- 天天信息:V观财报|科达制造股东广东联塑短线交易致歉
- 世界信息:5.98万起售还嫌贵?五菱缤果上市即热销:当天交付522台
- 每日热议!想买车的抓紧 广州新能源汽车也有补贴了:最高1万元
- 世界微头条丨《原神》开发商新作:米哈游《崩坏:星穹铁道》预约超2000万
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
全球动态:读SQL进阶教程笔记04_集合运算
1.集合论是SQL语言的根基
1.1.UNION
- 1.1.1.SQL-86标准
1.2.NTERSECT和EXCEPT
- 1.2.1.SQL-92标准
1.3.除法运算(DIVIDE BY)
(资料图片仅供参考)
- 1.3.1.没有被标准化
2.注意事项
2.1.SQL能操作具有重复行的集合,可以通过可选项ALL来支持
2.1.1.不允许重复
2.1.1.1.直接使用UNION或INTERSECT
2.1.1.2.集合运算符为了排除掉重复行,默认地会发生排序
2.1.2.允许重复
2.1.2.1.加上可选项ALL
2.1.2.1.1.不会再排序,所以性能会有提升
2.1.2.1.2.非常有效的用于优化查询性能的方法
2.1.2.2.UNION ALL
2.1.2.2.1.不具有幂等性
2.2.集合运算符有优先级
2.2.1.INTERSECT比UNION和EXCEPT优先级更高
2.2.2.括号明确地指定运算顺序
2.3.各个DBMS提供商在集合运算的实现程度上参差不齐
2.3.1.SQL Server从2005版开始支持INTERSECT和EXCEPT
2.3.2.Oracle这样,实现了EXCEPT功能但却命名为MINUS的数据库
2.3.3.INTERSECT和EXCEPT不能在MySQL里执行
2.4.除法运算没有标准定义
- 2.4.1.四则运算里的和(UNION)、差(EXCEPT)、积(CROSS JOIN)都被引入了标准SQL
3.检查集合相等性
3.1.“相等”指的是行数和列数以及内容都相同
3.2.“是同一个集合”
3.3.原理1
3.3.1.S UNION S = S
3.3.2.幂等性(indempotency)
3.3.2.1.抽象代数里群论等理论中的概念
3.3.2.2.二目运算符对任意S,都有SS = S成立”
3.4.示例1
- 3.4.1.
SELECT COUNT(*) AS row_cnt FROM ( SELECT * FROM tbl_A UNION SELECT * FROM tbl_B ) TMP;
3.4.2.这个查询的结果与tbl_A及tbl_B的行数一致,则两张表是相等的
3.4.3.表tbl_A和表tbl_B的行数是一样的
- 3.4.3.1.如果行数不一样,那就不需要比较其他的了
3.5.原理2
3.5.1.如果A UNION B = A INTERSECT B,则集合A和集合B相等
3.5.2.(A UNION B) EXCEPT (A INTERSECT B)的结果集是不是空集就可以了
3.5.3.INTERSECT
- 3.5.3.1.幂等性(indempotency)
3.5.4.EXCEPT不具有幂等性
3.6.示例2
- 3.6.1.--两张表相等时返回“相等”,否则返回“不相等”
SELECT CASE WHEN COUNT(*) = 0THEN ’相等’ELSE’不相等’END AS resultFROM ((SELECT * FROM tbl_AUNIONSELECT * FROM tbl_B)EXCEPT(SELECT * FROM tbl_AINTERSECTSELECT * FROM tbl_B)) TMP;
3.6.2.改进版不需要事先查询两张表的行数
3.6.3.需要进行4次排序(3次集合运算加上1次DISTINCT)
- 3.6.3.1.性能会有所下降
3.7.示例3
- 3.7.1.--用于比较表与表的diff
(SELECT * FROM tbl_AEXCEPTSELECT * FROM tbl_B)UNION ALL(SELECT * FROM tbl_BEXCEPTSELECT * FROM tbl_A);
4.用差集实现关系除法运算
4.1.嵌套使用NOT EXISTS
4.2.使用HAVING子句转换成一对一关系
4.3.把除法变成减法
4.3.1.示例
- 4.3.1.1.
- 4.3.1.2.--用求差集的方法进行关系除法运算(有余数)
SELECT DISTINCT empFROM EmpSkills ES1WHERE NOT EXISTS(SELECT skillFROM SkillsEXCEPTSELECT skillFROM EmpSkills ES2WHERE ES1.emp = ES2.emp);
- 4.3.1.3.关联子查询是为了使SQL能够实现类似面向过程语言中循环的功能而引入的
5.寻找相等的子集
5.1.IBM过去研制的第一个关系数据库实验系统——System R
5.1.1.用CONTAINS这一谓词来检查集合间的包含关系
5.1.2.后来因为性能原因被删除掉了,直到现在也没有恢复
5.1.3.
SELECT "A CONTAINS B"FROM SupPartsWHERE (SELECT partFROM SupPartsWHERE sup ="A")CONTAINS(SELECT partFROM SupPartsWHERE sup ="B")
5.2.示例
- 5.2.1.--生成供应商的全部组合
SELECT SP1.sup AS s1, SP2.sup AS s2FROM SupParts SP1, SupParts SP2WHERE SP1.sup < SP2.supGROUP BY SP1.sup, SP2.sup;
- 5.2.2.
SELECT SP1.sup AS s1, SP2.sup AS s2FROM SupParts SP1, SupParts SP2WHERE SP1.sup < SP2.sup --生成供应商的全部组合AND SP1.part = SP2.part --条件1:经营同种类型的零件GROUP BY SP1.sup, SP2.supHAVING COUNT(*) = (SELECT COUNT(*) --条件2:经营的零件种类数相同FROM SupParts SP3WHERE SP3.sup = SP1.sup)AND COUNT(*) = (SELECT COUNT(*)FROM SupParts SP4WHERE SP4.sup = SP2.sup);
- 5.2.3.SQL在比较两个集合时,并不是以行为单位来比较的,而是把集合当作整体来处理的
6.用于删除重复行的高效SQL
6.1.--删除重复行:使用关联子查询
DELETE FROM Products WHERE rowid < ( SELECT MAX(P2.rowid) FROM Products P2 WHERE Products.name = P2. name AND Products.price = P2.price ) ;
6.2.--用于删除重复行的高效SQL语句(1):通过EXCEPT求补集
DELETE FROM Products WHERE rowid IN ( SELECT rowid --全部rowid FROM Products EXCEPT --减去 SELECT MAX(rowid) --要留下的rowid FROM Products GROUP BY name, price) ;
6.3.--删除重复行的高效SQL语句(2):通过NOT IN求补集
DELETE FROM Products WHERE rowid NOT IN ( SELECT MAX(rowid) FROM Products GROUP BY name, price);
- 6.3.1.不支持EXCEPT的数据库也可以使用
6.4.实现了行ID的数据库只有Oracle和PostgreSQL
6.4.1.PostgreSQL里的相应名字是oid,如果要使用,需要事先在CREATE TABLE的时候指定可选项WITH OIDS
6.4.2.如果其他数据库想要使用这些SQL,则需要在表中创建类似的具有唯一性的“id”列
关键词:
-
全球动态:读SQL进阶教程笔记04_集合运算
1 & 160;集合论是SQL语言的根基1 1 & 160;UNION1 1 1 & 160;SQL-86标准1 2 & 160;NTERSECT和EXCEPT1 2 1 & 160;SQL-
来源: 全球动态:读SQL进阶教程笔记04_集合运算
加满一箱油少花13元!油价迎今年来最大降幅
天天热资讯!2020广州大佛寺中秋佳节拜月法会安排一览
Swift与OC混编
环球信息:知乎使用指南
汉唐元三车齐发!比亚迪乘用车在西班牙正式开售
【世界独家】不虚标!比亚迪汉EV冠军版实测光电续航达成率93.1%
世界今热点:中国最畅销手机出炉:“十三香”传奇上演 安卓高端难成
内存狂魔第一次冲上8200MHz!芝奇带来96GB DDR5
佛山企业标准“领跑者”数量连续三年全国第一
当前视点!腮腺炎初期有什么症状?_腮腺炎初期有什么症状
全球时讯:深度学习——用简单的线性模型构建识别鸟与飞机模型
Redhat/CentOS Linux 系统进入单用户模式
天天即时看!万恶的环境 二 java
今日要闻!验证码被攻破!谷歌AI已能精准识别 GPT-4则装瞎求人帮忙
美女博主在家拍擦边视频?穿瑜伽服涨粉百万!真相是...
全球今头条!3DMark加入AMD FSR专项测试:终于追上NVIDIA、Intel
全球报道:广汽埃安AION Y Plus 2023款上市:14万级唯一纯电610KM续航
天天信息:V观财报|科达制造股东广东联塑短线交易致歉
世界消息!Teamcenter_SOA开发:使用查询构建器查询数据
即时:flatMap
热讯:React Native 备忘清单_开发速查表分享
世界信息:5.98万起售还嫌贵?五菱缤果上市即热销:当天交付522台
每日热议!想买车的抓紧 广州新能源汽车也有补贴了:最高1万元
世界微头条丨《原神》开发商新作:米哈游《崩坏:星穹铁道》预约超2000万
环球热推荐:米香四溢:袁隆平品牌隆平农场东北晶米10斤39.9元发车
华硕ROG游戏手机7真机曝光:无挖孔全面屏、后置三摄
天天讯息:华天科技2022年营收119亿元 拟实施先进封测研发及产业化项目
当前焦点!Leetcode Practice --- 栈和队列
我的第一个项目(七):(解决问题)Vue中canvas无法绘制图片
观点:确认引进内地!《小美人鱼》新泄露镜头:爱丽儿深情抚摸王子的脸
全球首个商用海底数据中心在海南下水:算力高、散热不费电
今日关注:不挑路面、转得很稳 仰望U8如何实现原地掉头?官方详解
大学生应聘饭店洗碗工被HR婉拒 HR:第一份工作很重要 这会害了他
不等发布会!vivo X Fold2真机抢先看:素皮+玻璃设计惊艳
现场丨圆桌对话:抓住确定性——楼宇经济的大周期和小趋势
讯息:awk 处理 Git 提交信息生成 Release Note
最长上升子序列 II
视焦点讯!day3 函数的定义和调用,练习编写简单的程序(记录1)
天天热文:内存/SSD白菜价甩卖 美光芯片大减产:工厂停机率创纪录
任泽平:在中国做生意没任何理由抱怨 燃油车正迎来诺基亚时刻
世界新资讯:宏碁推出W系列4K电视:QLED面板、30W扬声器
油价“二连降” 今年来最大降幅!加满一箱油少花13元
【全球热闻】网络时钟同步设备(NTP时间同步服务器)技术设计应用方案
全球实时:记录--你可能忽略的10种JavaScript快乐写法
聚焦:无所畏惧的求和题解
今亮点!商品日报(3月31日):焦炭低位反弹菜油补涨 纸浆、玻璃主力合约跌超2%
保姆级教程!12306官方详解“免费坐高铁”
环球速递!RTX 40系显卡才能“撑得住”!《赛博朋克2077》实现路径光追
夏季必备 圈叉潮品纯棉印花T恤/短裤24.9元起
【新视野】编程神童立志写最棒的程序改变世界 严重偏科只能选职高 妈妈无奈
世界视讯!成龙自豪发声:不是我要去好莱坞 而是好莱坞要我
“19鑫苑01”到期日期将延期一年
Excel批量检查5列数据是否一致(存在不规则空值)
【密码管理器】上海道宁为您提供存储和使用强密码的简单方法工具软件——1Password
【环球报资讯】MQTT协议介绍
世界热资讯!开心档之Go 语言环境安装
DIM中的一些知识点(慢更)
新消息丨每日机构分析:3月31日
全球实时:国家发展改革委:国内汽、柴油价格每吨分别降低335元和320元
焦点简讯:吃日料、听京剧 库克时隔3年再访中国:6年前还去过ofo小黄车总部
全球观焦点:酷派新品发布会定档4月3日:三款新机待发
世界聚焦:2023增长最快的手机品牌!一加Ace 2首销日销量在第三方平台遥遥领先
天天观察:B站弹幕射击《爆裂魔女》5月30日停运 共运营592天
任天堂Switch 2不会远了!开发者已收到新主机开发工具
世界信息:周日阳光可期抓紧洗晒 下周四冷空气再袭降水将达到中雨
每日快讯!卸载SQL Server 2012图文教程
环球报道:你还在手写 join 联表查询?MyBatis-Plus 这样写太香了!
天天新动态:Python 数字类型之 int float
每日观点:收评:两市红盘震荡创指涨0.69% 人工智能板块涨幅居前
世界百事通!比亚迪F品牌再曝谍照 主攻40-60万市场/下半年预售
天天资讯:38岁985文科硕士被迫送外卖!本人再发声:已脱下孔乙己长衫 应聘道士被拒
云南一县城禁止“脏车入城”:有明显污迹、车轮粘泥不许在城区行驶
百元就能畅享8K 流畅清爽无广告!当贝盒子H3视频评测
当前快讯:刘浩存在新片《龙马精神》首映礼上哭了:感谢成龙带自己拍戏
环球今头条!GPT-4被指威胁公共安全!OpenAI遭第三方组织投诉
基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 2/3
【焦点热闻】如何实现根据环境切换不同配置?
数据丢失不用怕,火山引擎 DataLeap 提供排查解决方案
英特尔以强大产品力,迎接生成式AI的广阔机遇
【全球快播报】北京启动存量住房交易“带押过户”模式
热消息:直播间卖卫星 最低200万!罗永浩:真的 把卫星价格打下来
Redmi Note 12 Turbo晒战绩:16GB+1TB开售5分钟超过全行业历史销量之和
每日热闻!这就离谱!A7S3传感器用来拍Vlog 索尼ZV-E1开启预售
vivo X Fold2影像曝光:IMX866主摄、潜望长焦取消
天天实时:一键获取测试脚本,轻松验证“TSBS 时序数据库性能基准测试报告”
天天快看点丨windows系统 批量处理文件名称
Python Django投稿系统代码
环球今头条!日本最早将于2024年度在新东名高速公路部分区间设置自动驾驶车道
环球即时看!小姐姐秒种草!雅迪冠能摩登发布:独创复古女王风
当前速讯:你家乡上榜没?中国省级“癌症地图”出炉:肺癌列第一 “穷癌”下降“富癌”上升
3299元性价比封神!AMD Zen4 104MB缓存锐龙7 7800X3D价格公布
迅雷临时文件读取错误怎么回事?迅雷临时文件读取错误怎么解决?
色带打印机怎么换色带?色带的正确安装方法是什么?
win10版本号与操作系统版本号有什么区别?怎么查看win10版本号?
英雄联盟狮子狗叫什么?英雄联盟狮子狗连招介绍
诺基亚X3上市时间是什么时候?诺基亚X3手机参数
CloudCanal 落地 DB2 数据迁移同步功能
观天下!hdfs disk balancer 磁盘均衡器
全球百事通!Python 应用 - jieba 分词 1:进行批量文本分词_艽野尘梦 better 的博客 - CSDN 博客