实验内容:
(1)求数学系学生的学号和姓名。
(2)求选修了课程的学生学号。
(3)求选修课程号为‘2’的学生号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同按学号的升序排列
。
(4)求选修课程号为’2’且成绩在80~90之间的学生学号和成绩,并将成绩乘以0.8输出。
(5)求数学系或计算机系姓张的学生的信息。
(6)求缺少了成绩的学生的学号和课程号。
(7)查询各个课程号与相应的选课人数。
每条语句一个截图。
(二) 多表连接查询
(1)查询
(2)求学生的学号、姓名、选修的课程及成绩。
(3)求选修课程号为‘1’且成绩在90分以上的学生学号、姓名和成绩。
(4)查询每一门课程的间接先行课。
(5)查询与’刘晨’在同一个系学习的学生。
(6)查询选修了课程名为‘信息系统‘的学生学号和姓名。
(7)查询平均成绩在80分以上的学生学号和平均成绩。
(8)查询选修了1门以上课程的学生的学号。
每条语句一个截图。
(三) 嵌套查询
(1)求选修了信息系统的学号和姓名。
(2)查询与刘晨在同一个系学习的学生。
(3)求选修1号课程的成绩高于刘晨的成绩(指刘晨选修的所有的课程的成绩)的学生学号及成绩。
(4)求其他系中比计算机系某一学生年龄小的学生(即年龄小于计算机系年龄最大者的学生)。
(5)求其他系中比计算机系学生年龄都小的学生姓名及年龄。
(6)求没有选修3号课程的学生姓名。
(7)查询选修了全部课程的学生姓名。
20
(8)求至少选修了学号为“200215121”的学生所选修全部课程的学生学号和姓名。
(9)求选修课程超过2门的学生的学号和姓名。
每条语句一个截图。
(四) 视图
(1)建立信息系学生的视图。并查询此视图,观察结果。
(2)(在视图上建立)建立信息系选修了1号课程的学生的视图。查询此视图,并观察结果。
(3)将学生的学号及其平均成绩定义为一个视图。查询此视图,观察结果。
(4)将Student表中所有女生记录定义为一个视图F_stu(sno,sname,sdept,sex),并设置其更新限制with check option。
(5)对4中的视图进行insert操作,将sno为200215129,sname为‘smith’,sdept为‘MA’插入视图中,结果如何?
插入失败
(6)对4中的视图进行insert操作,将sno为200215129,sname为‘smith’,sdept为‘MA’,ssex为‘女’插入视图中,结果如何?
插入成功
(7)第5、6题的执行结果有什么区别?
一个失败一个成功;
(五)思考题:
(1)Where子句中能否用聚集函数作为条件表达式。
不能
(2)多表连接查询中如果显示的某一属性不止一个表中出现,应如何处理。(例:(二)多表连接查询中的第2题)。
确定要显示的为那个表出现的属性,如确定是student.sno或sc.sno;
(3)在嵌套查询中,什么情况下用“IN”和“=”都可以。
内层查询只返回一个值。
数据库实验二数据查询和视图操作
最新推荐文章于 2024-06-25 23:38:05 发布