《2022年2022年集合查询与总结 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年集合查询与总结 .pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库原理及应用电子实验报告题 目:SQL 语言(5)数据查询集合查询与总结日期20 . . 姓 名QQ实验环境:Windows XP ,Sql Server2005实验目的:1 理解集合查询的意义2 了解标准 SQL 直接支持的集合操作种类3 了解一般商用数据库支持的集合操作种类4 掌握并、交、差操作5 总结并深入体会 SQL 查询实验内容:1. 集合查询(1) 查询计算机学元年龄在20及20岁以下的人select*From student where sdept =CSunionselect* from student where sage=20 ;1) 嵌套查询的定义2) 标准SQL 直
2、接支持的集合操作种类3) 一般商用数据库支持的集合操作种类2. 采用的数据库表1) 库表结构定义2) 库表记录3. 并操作(写出题目、关系代数表达式和sql 语句)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 1) 并操作的形式2) 实例操作【实例1】查询选修了 1号和2号课程的名单select sno from sc where cno =1unionselect sno from sc where cno =2;查询7好课
3、程下的选修了数据处理的课程名、先修课号及学分select cname , cpno , ccredit from course wherecname like 数据处理 unionselectcname , cpno , ccredit from course where cno =7;查询信息系统的名单select* from student s1 where s1 . sdept=ISunionselect*from student s2 where s2 . ssexlike 男 ;查询选修课里选修号、及成绩select*from sc ;select Sno , grade from
4、sc unionselect sno , gradefrom sc where sno =200215122;【实例2】查询年龄在 19 岁之下的所有名单select*from sc where grade=90unionselect*from sc where cno =3;查询年龄在 21 岁之下且为刘晨所在的院系的名单select sno from student where sage=21 unionselect sno from student where sdept in(IS);4. 交操作名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -
5、- - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - 1) 交操作的意义2) 实例操作(写出题目、关系代数表达式和sql 语句及sql 环境运算截图)【实例1】查询计算机系年龄不大于19搜有名单select*from student where sdept=CSintersectselect*from student where sage=19 ;查询信息系统且性别为男的所有名单select* from student s1 where s1 . sdept=ISintersectselect*from student s
6、2 wheres2 . ssex like 男 ;查询计算机年龄在 19 岁之下的人select*from student where sdept=CSintersectselect*from student where sage =19 ;select*from student where sdept=CSandsage =21 unionselect sno from student where sdeptin(CS, IS);查询学分 3且先修课号为 21select cno , cname from course where cpno=6intersectselect cno , cn
7、ame from course whereccredit=3;5. 差操作(写出题目、关系代数表达式和sql 语句及sql 环境运算截图)1) 差操作的意义名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 8 页 - - - - - - - - - 2) 实例操作【实例1】查看计算机系年龄在 19以上的学生select*from student where sdept=CSexceptselect*from student where sage19 ;【实例3】查找2002
8、15122 课程号小于 3的(不小于 3的)信息select* from sc where sno =200215122exceptselect*from sc where cno =3【实例4】查询信息系统的学生与年龄不小于18的学生select* from student where sdept=ISexceptselect* from student where sage=18 ;1) EXISTS谓词2) NOT EXISTS 谓词3) 全称量词 的实现名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - -
9、 - - - - - 第 5 页,共 8 页 - - - - - - - - - 4) 实例操作实例1】查询选修了 1号课程的学生名称【select sname from student whereexists(select*from sc where sno =student. sno and cno =1);【实例2】查询没有选修一号可承担的姓名select sname from student wherenotexists(select*from sc where sno =student. snoand cno =1);【实例3】查询刘晨所在系的学生select sname from
10、student wherenotexists(select*from sc where sno =student. snoand cno =1);名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 8 页 - - - - - - - - - 【实例4】查询选修了全部课程的学生的姓名select sname from student wherenotexists( select*from course wherenotexists( select* from sc where
11、sno =student. sno andcno =course. cno );查询200215122选修了全部课程的学生号码selectdistinct sno from sc scx wherenotexists( select*from sc scywhere scy. sno =200215122andnotexists( select*from sc scz where scz. sno =scx . sno andscz . cno =scy . cno );6. SQL 查询的总结1) SELECT 语句的一般格式2) (自由总结、深入体会)3) (自由总结、深入体会)完成情况:
12、 1 完成了* 2 完成了*出现的问题:(小四宋体)使用 UNION、INTERSECT 或EXCEPT 运算符合并的所有查询必须在其目标列表中有相同名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 8 页 - - - - - - - - - 数目的表达式。Union 连接的两个 select比需是同表且from 之前的属性列一一对应2 在完成* 任务时,遇到了 * 问题,解决思路是 * ,解决步骤时* 。*名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 8 页 - - - - - - - - -