2022年数据库系统原理与设计设计实验参考 .pdf





《2022年数据库系统原理与设计设计实验参考 .pdf》由会员分享,可在线阅读,更多相关《2022年数据库系统原理与设计设计实验参考 .pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验 D02: 单表查询实验七、设计性实验1实验要求(1)查询计算机系学生的学号和姓名。Select sno,sname from s where dept=计算机系 (2)查询选修了课程的学生学号。Select distinct sno from sc (3)查询选修 C01 课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列。select sno,grade from sc where cno= C01order by grade desc, sno (4)查询每门课程的平均分。Select cno,avg(grade) from sc group by
2、 cno (5)查询学校开设的课程总数。Select count(distinct cno) from sc (6)查询选修两门及两门以上课程的学生学号。Select sno from sc group by sno Having count(cno)=2 (7)查询年龄在20-22 之间的男生的学号、姓名、系部。Select sno,sname, dept from s where sex= 男 and age between 20 and 22 (8)查询选修C01课程的学生人数。Select count(sno) from sc where cno= C013思考题(1)使用 ORDER
3、 BY 子句后 SELECT 后的数据列有什么限制吗?使用GROUP BY 呢?答:使用 ORDER BY 子句后 SELECT 后的数据列没有限制,而使用GROUP BY 字句后 SELECT 后的数据列只能是 group by 后跟的数据列和聚集函数。(2)执行 select max(grade) from sc, 写出执行结果;执行 select sno, max(grade) from sc group by sno,写出执行结构。思考:使用GROUP BY子句后,语句中的统计函数的运行结果有什么不同?执行 select max(grade) from sc 只有一个结果, 整个选课表
4、的平均成绩,而 select sno, max(grade) from sc group by sno显示的是每个学生的选课平均成绩,使用group by字句后,根据其后的字段对数据表进行分组,再对每一个组进行分组统计。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - 实验 D03: 多表查询实验七、设计性实验1实验要求(1)查询“计算机系“学生所选课程的成绩表。Select sno,sname, cno,cname ,grade
5、 from s,sc,c where s.sno=sc.sno and o=o and dept= 计算机系 (2)查询成绩比该课程平均成绩低的同学的成绩表。Select sno,cno,grade from sc sc1 where grade=2 (5)查询年龄在20-22 之间的男生的选修的课程号。Select cno from sc where sno in(select sno from s where sex= 男 and age between 20 and 22) (6)查询选修数据结构课程的学生人数。Select count(sno) from sc where cno in
6、 (select cno from c where cname=数据结构 ) (7)查询每门选课成绩在80分以上的学生学号、姓名。Select sno,sname from s where sno in (select sno from sc group by sno having min(grade)=80) 2思考题(1)多表的连接查询是否都可以转换成嵌套查询?什么情况下连接查询不能用嵌套查询表示?答:当查询结果涉及多张表中的字段时,多表连接查询不能转换成嵌套查询;当涉及左外连接或者右外连接时多表连接查询也不能转换成嵌套查询。(2)多表连接查询和IN嵌套子查询从查询效率上来说,哪种查询的效
7、果更好?为什么? 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 7 页 - - - - - - - - - 答:若嵌套子查询为无关嵌套查询时,IN嵌套子查询的查询效率比多表连接查询查询要高。因为无关嵌套查询只对子查询涉及的表扫描1次,而多表连接要做笛卡儿乘积运算,子表要查询多次。若嵌套子查询为相关嵌套查询时,则和多表连接查询的查询效率差不多。实验 D04 参考答案七、设计性实验1实验要求(1) 在 S表中添加完整性约束:SNO设置为主键, SEX 的却省值为 女,AGE
8、 的有效值为16-25。Alter table s add primary key(sno), default 女for sex, check (age between 16 and 25) (2)创建 1张与 S相同的表 S1,在创建的同时将SNO 设置为主键, SEX 的却省值为女,AGE 的有效值为 16-25 ,并将 S表中的数据插入到S1中,插入不同的记录来严整设置的完整性。Create table s1(SNO VARCHAR (10) primary key ,SNAME VARCHAR(20),DEPA VARCHAR(20), AGE INT check (age betwe
9、en 16 and 25), SEX CHAR(4) default 女 ) Insert into s1 select sno,sname, depa, age, sex from s Insert into s1 (sno,sname) values( 200512 , zxx ) Insert into s1(sno,sname,age) values( 200618 , zxx ,26) Insert into s1(sno,sname,age) values( 200618 , zxx ,18) (3)创建 1张与 SC相同的表 SC1,将( SNO ,CNO )设置为主键,SNO
10、和CNO 设置为外键,并将SC表中的数据复制到SC1中,插入不同的记录来严整设置的完整性。create table SC1(SNO VARCHAR(10) NOT NULL, Cno VARCHAR(10) NOT NULL, GRADE DECIMAL) alter table sc1 add primary key(sno,cno), foreign key(sno) references s(sno), foreign key(cno)references c(cno) insert into sc1 values( 200620 , c01 ,90) insert into sc1 v
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年数据库系统原理与设计设计实验参考 2022 数据库 系统 原理 设计 实验 参考

限制150内