数据库实验二数据查询和视图操作

实验内容:

(1)求数学系学生的学号和姓名。

(2)求选修了课程的学生学号。

(3)求选修课程号为‘2’的学生号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同按学号的升序排列

(4)求选修课程号为’2’且成绩在80~90之间的学生学号和成绩,并将成绩乘以0.8输出。

扫描二维码关注公众号,回复: 14144853 查看本文章

(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”和“=”都可以。

内层查询只返回一个值。

猜你喜欢

转载自blog.csdn.net/qq_56350439/article/details/124557845
今日推荐