实验内容与完成情况:
一、实验目的
本实验的目的使学生进一步掌握MySQL的使用方法,加深对SQL语言的嵌套查询和视图使用的理解。
二、实验内容
1、在SQL Server Management Studio中使用嵌套查询完成如下查询要求:
- 求选修了数学课(Math)学生的学号和姓名;
- 求2号课程的成绩高于“LiYong”的学生学号和成绩;
- 求其他系中比计算机系(CS)某一学生年龄小的学生信息
(即年龄小于计算机系年龄最大者的学生);
- 求其他系中比数学系(MA)教师工资高的教师信息;
- 求平均成绩大于80分的学生姓名;
- 求和信息系(IS)教师人数相同的系名;
- 求选修了2号课程的学生姓名(分别用带IN谓词和EXISTS谓词的子查询实现);
- 求没有选修3号课程的学生姓名;
- 求学生“WangMing”选修的总学分;
(10) 求课程“Information System”的平均成绩;
(11) 求和老师“ZhongLin”在同一个系的老师姓名;
(12) 求缺考学生的姓名和所在系;
(13) 求至少选修了3门课程学生的姓名。
(14) 求至少有2名讲师(Lecturer)的所在系的系主任姓名。
2、使用SQL语言创建视图
(1)创建女生视图,包括学生的学号,姓名,年龄和所在系;
(2)创建计算机系选修了课程学生的视图;
(3)创建学生选修视图,用于查看学生选修的学号和总成绩;
(4)创建平均成绩大于80分的学生选课视图,用于查看学生的学号和平均成绩;
(5)创建视图,用于查看学分大于2的课程信息;
(6)创建外语系教师视图,并用WITH CHECK OPTION强制选项;
(7)创建各系教师平均工资视图;
(8)创建副教授视图。
3、利用视图查询数据(即所有查询都是建立在上述定义的视图中)
(1)查询年龄小于20岁的女生信息;
(2)统计计算机系的选课人数;
(3)查询选修总成绩大于150的学生学号;
(4)查询平均工资小于3300的教师的系名和平均工资。
4、利用视图管理数据(即使用上述定义的视图管理基本表中的数据)
(1)利用外语系教师视图,插入记录。思考为什么有的记录不能插入?
140006 | ZhouYan | M | 32 | FL | Lecturer | 2800 | 140005 |
130005 | ChenFang | F | 33 | MA | Lecturer | 2800 | 130003 |
第二行数据不能插入,系主任的编号与系名矛盾。
(2)利用女生视图,将“LiuChen”的年龄改成18岁;
(3)利用副教授视图,删除教师“ChenShu”的记录。
来源地址:https://blog.csdn.net/weixin_52767679/article/details/130084789