- 1、本文档共100页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 7.11.1 并操作 UNION运算符表示并集运算,结果集中包含了执行并操作的结果集中的所有数据。 其基本格式为: subquery UNION [ALL] subquery 【例7.47】查询选修了课程1或者选修了课程2的学生学号。 本查询实际上就是查询选修了课程1的学生集合与选修了课程2的学生集合的并集。 SELECT studentID FROM Grade WHERE courseID = 1 UNION ALL SELECT studentID FROM Grade WHERE courseID = 2 * 在查询结果集中可以看到,结果集中包含了重复数据,这是由于查询语句中使用了ALL关键字的缘故。如果去掉ALL使用DISTINCT关键字,则结果集中不会出现重复值。 该查询也可以用以下语句实现(不包含重复值): SELECT DISTINCT studentID FROM Grade WHERE courseID = 1 OR courseID = 2; * 7.11.2 交操作 【例7.48】查询既选修了1号课程又选修了2号课程的学生学号。 本查询实际上就是查询选修了1号课程的学生集合与选修了2号课程的学生集合的交集。 SQL语句如下: SELECT studentID FROM Grade WHERE courseID = 1 INTERSECT SELECT studentID FROM Grade WHERE courseID = 2 * 该查询等价于以下语句: SELECT studentID FROM Grade X WHERE courseID = 1 AND EXISTS (SELECT * FROM Grade Y WHERE courseID = 2 AND X.studentID=Y.studentID) 思考:如果要查询既选修了课程1又选修了课程2的学生学号和姓名信息的话,又该如何实现呢? * 7.11.3 差操作 【例7.49】查询没有选修课程的学生学号、姓名。 SELECT studentID,studentName FROM Student WHERE studentID IN (SELECT studentID FROM Student EXCEPT SELECT studentID FROM Grade) 先查询得到所有的学生学号,再从中减去(差集)所有选修了课程的学生学号,即是没有选修课程的学生学号。根据学生学号即可得到相应的学生姓名。 本查询也可使用IN查询、EXISTS查询来实现,语句如下: SELECT studentID,studentName FROM Student WHERE NOT EXISTS (SELECT * FROM Grade WHERE Student.studentID=Grade.studentID) * 本章小结 SQL语言的数据查询功能是最丰富、也是最复杂的,本章介绍了数据更新命令和基本的SQL查询语句,使用这些语句可以完成数据的插入、修改和删除,以及数据查询操作,包括基本数据查询、条件查询、嵌套查询、集合查询、连接查询、排序查询、统计函数、分组查询等,为读者学习数据库编程和进行数据库操作打下坚实的基础。 SQL语句查询数据的基本格式为: SELECT select_list [ INTO new_table ] [ FROM table_source ] [ WHERE search_condition ] [ GROUP BY group_by_expression] [ HAVING search_condition] [ ORDER BY order_expression [ ASC | DESC ] ] * 7.9.2 内连接 内联接(INNER JOIN)使用比较运算符进行表间某(些)列数据的比较操作,并列出这些表中与联接条件相匹配的数据行。 (1)等值连接查询 (2)不等值连接查询 (3)自连接查询 * (1)等值连接查询 连接条件或连接谓词中的运算符为等号的连接查询,称为等值连接。 【例7.35】查询每个学生选修课程的情况。 学生信息存放在Student表中,学生选课信息存放在Grade表中,所以本查询实际上涉及Student与Grade两个表。这两个表之间的联系是通过公共属性studentID实现的。 法(一):在FROM子句中指定连接条件 SELECT * FROM student INNER JOIN Grade ON student.studentID = grade .studentID 法(二):在WHERE子句中指定连接条件 SELECT * FROM stud
您可能关注的文档
- 第7章创业资源与创业融资讲述.ppt
- 第7章地基承载力讲述.ppt
- 第7章可编程逻辑器件讲述.ppt
- 第7章内容保护技术讲述.ppt
- 第7章墙体讲述.ppt
- 第7章土的抗剪强度讲述.ppt
- 第7章工业机器人3讲述.ppt
- 第7章工件材料切削加工性_zp讲述.ppt
- 第7章市场竞合战略讲述.ppt
- 第7章投资决策法则讲述.ppt
- 《GB/T 32151.42-2024温室气体排放核算与报告要求 第42部分:铜冶炼企业》.pdf
- GB/T 32151.42-2024温室气体排放核算与报告要求 第42部分:铜冶炼企业.pdf
- GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法.pdf
- 中国国家标准 GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法.pdf
- 《GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法》.pdf
- 《GB/T 18238.2-2024网络安全技术 杂凑函数 第2部分:采用分组密码的杂凑函数》.pdf
- GB/T 18238.2-2024网络安全技术 杂凑函数 第2部分:采用分组密码的杂凑函数.pdf
- 《GB/T 17215.686-2024电测量数据交换 DLMS/COSEM组件 第86部分:社区网络高速PLCISO/IEC 12139-1配置》.pdf
- GB/T 13542.4-2024电气绝缘用薄膜 第4部分:聚酯薄膜.pdf
- 《GB/T 13542.4-2024电气绝缘用薄膜 第4部分:聚酯薄膜》.pdf
文档评论(0)