武汉大学数据库系统概论 第八讲 高级SQL查询.pdf

武汉大学数据库系统概论 第八讲 高级SQL查询.pdf

ID:52254073

大小:1.33 MB

页数:56页

时间:2020-03-25

武汉大学数据库系统概论 第八讲 高级SQL查询.pdf_第1页
武汉大学数据库系统概论 第八讲 高级SQL查询.pdf_第2页
武汉大学数据库系统概论 第八讲 高级SQL查询.pdf_第3页
武汉大学数据库系统概论 第八讲 高级SQL查询.pdf_第4页
武汉大学数据库系统概论 第八讲 高级SQL查询.pdf_第5页
资源描述:

《武汉大学数据库系统概论 第八讲 高级SQL查询.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第八讲高级SQL查询1本讲主要目标学完本讲后,你应该能够了解:1.高级SQL语句的语法不统一,不适用于所有的数据库系统;2.INTERSECT和EXCEPT是高级SQL提供的两个运算符,直接支持关系代数的“交”和“差”操作;3.高级SQL对FROM子句作了扩充,基本SQL的FROM子句中只包含表或视图列表,但高级SQL的FROM子句中可以包含子查询或连接表;4.准确、完整的SELECT语句的语法;5.SELECT语句的能力限制。2一.高级SQL语法概述二.INTERSECT和EXCEPT运算符三.高级SQL中的FROM子句四.Select语句的完整描述五.Select语句的

2、能力3查询语句基于的实例S学号姓名性别年龄所在系S#SNSESASD一个学生-课程数据库95001李勇男20CS95002刘晨女19ISC95003王敏女18MA课程号课程名先行课学分95004张立男19ISC#CNCP#CCC1数据库C54SC学号课程号成绩C2数学2S#C#GC3信息系统C1495001C192C4操作系统C6395001C285C5数据结构C7495001C388C6数据处理295002C290C7PASCAL语言C6495002C3804高级SQL语法概述5高级SQL语法概述1.高级SQL语法不统一、不适用于所有的数据库系统2.大多数高级语法对某些关

3、系查询提供了新的解法3.高级SQL提供“交”和“差”运算4.高级SQL对FROM子句进行了扩充6INTERSECT和EXCEPT运算符7INTERSECT和EXCEPT运算符1.UNION、INTERSECT和EXCEPT的高级SQL子查询形式Subquery{UNION[ALL]

4、INTERSECT[ALL]

5、EXCEPT[ALL]Subquery}Q1UNIONQ2表示子查询Q1结果与Q2结果的并;Q1INTERSECTQ2表示子查询Q1结果与Q2结果的交;Q1EXCEPTQ2表示子查询Q1结果与Q2结果的差;8INTERSECT和EXCEPT运算符2.使用INT

6、ERSECT例1查询既选修了课程“C1”又选修了课程“C2”的学生的学号与姓名SELECTS.S#,SNFROMS,SCWHERES.S#=SC.S#ANDC#=‘C1’INTERSECTSELECTS.S#,SNFROMS,SCWHERES.S#=SC.S#ANDC#=‘C2’9INTERSECT和EXCEPT运算符3.使用EXCEPT例2查询没选修“95001”所选修的任何课程的学生的学号。SELECTS#FROMSEXCEPTSELECTSC1.S#FROMSCSC1,SCSC2WHERESC1.C#=SC2.C#ANDSC2.S#=‘95001’;10INTERSE

7、CT和EXCEPT运算符例1和例2的UNION结果中有重ALL产生复行吗?的结果中有重复行11INTERSECT和EXCEPT运算符4.UNIONALL的使用Q:=Q1UNION[ALL]Q2假定元组X在Q1结果中出现M次,在Q2结果中出现N次UNION不使用ALL时,若M或N不为0,则Q中X出现的次数=1,否则=0UNION使用ALL时,Q中X出现的次数=M+N假定Q1的查询结果为{a,a,a,b,b,c,d},Q2的查询结果为{a,a,b,b,b,c,e}则Q1UNIONALLQ2的结果为{a,a,a,a,a,b,b,b,b,b,c,c,d,e}Q1UNIONQ2的

8、结果为{a,b,c,d,e}12INTERSECT和EXCEPT运算符5.INTERSECTALL的使用Q:=Q1INTERSECT[ALL]Q2假定X在Q1结果中出现M次,在Q2结果中出现N次INTERSECT不使用ALL时,若M或N为0,则Q中X出现的次数=0,否则=1INTERSECT使用ALL时,Q中X出现的次数=MIN(M,N);假定Q1的查询结果为{a,a,a,b,b,c,d},Q2的查询结果为{a,a,b,b,b,c,e}则Q1INTERSECTALLQ2的结果为{a,a,b,b,c}Q1INTERSECTQ2的结果为{a,b,c}13INTERSECT和

9、EXCEPT运算符6.EXCEPTALL的使用Q:=Q1EXCEPT[ALL]Q2假定X在Q1结果中出现M次,在Q2结果中出现N次EXCEPT不使用ALL时,若M不为0且N为0,则Q中X出现的次数=1,否则=0EXCEPT使用ALL时,Q中X出现的次数=M-N,若M-N为负数,则看作0假定Q1的查询结果为{a,a,a,b,b,c,d},Q2的查询结果为{a,a,b,b,b,c,e}则Q1EXCEPTALLQ2的结果为{a,d}Q1EXCEPTQ2的结果为{d}14高级SQL中的FROM子句15高级SQL中的FR

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。