03数据库之多表数据查询

1、基于实验二数据库中的三个表Student,Course,SC,进行如下的查询:

(1) 查询每个学生及其选修课情况(使用自然连接)。
在这里插入图片描述

(2) 查询每个学生的学号、姓名、选修的课程及成绩。
在这里插入图片描述

(3) 查询选修了2号课程且成绩在80分以上的学生姓名,年龄。
在这里插入图片描述

(4) 查询选修了课程名为“操作系统”的学生学号和姓名。
在这里插入图片描述

(5) 查询与“刘晨”同龄的学生。(用IN嵌套实现)
在这里插入图片描述

(6) 查询其它系中比信息系某一学生年龄大的学生姓名和年龄。(写出2种形式的查询语句)
在这里插入图片描述
在这里插入图片描述
(7) 查询选修了课程1或者选修了课程2的学生。(写出2种形式的查询语句)
在这里插入图片描述
在这里插入图片描述
(8) 查询没有选修2号课程的学生姓名。
在这里插入图片描述
(9) 查询选修课程1的学生集合与选修课程2的学生集合的交集。
在这里插入图片描述
(10) 查询信息系的学生与年龄不大于19岁的学生的差集。
在这里插入图片描述

(11) 检索选修了三门课及以上的学生的姓名。
在这里插入图片描述
(12) 查询出学号为 “201215121”的学生和学号为“201215122”的学生选修的课程的课程号。
在这里插入图片描述

2、用SQL语句实现“Student_DB_姓名首字母缩写”数据库中数据表的更新(给出查询语句或截图):

(1)删除信息系(IS)所有学生的选课记录。
在这里插入图片描述
(2)修改Cno为“1”的记录的课程名为“数据库原理及应用”。
在这里插入图片描述
(3)将信息系全体学生的成绩改为80。
在这里插入图片描述
(4)删除姓名为张立的学生记录。
在这里插入图片描述
(5)将自己的信息添加到学生表中,院系写成IS(信息系)。(注:若学号太长超过9位,则保留后9位即可。)
在这里插入图片描述
(6)使用SQL增加一条记录到course表中,增加的记录内容如下:(’9’,’数据挖掘’,’1’,5)
在这里插入图片描述
(7)往学生表里添加一个学号为“s9”,姓名为“赵丹”的学生。
在这里插入图片描述
(8)删除添加的(7)中的学生。

在这里插入图片描述

3、用SQL语句建立视图并对视图做相应的操作:

(1)建立计算机系学生的视图CS_View,要求视图中包含学生表中的所有属性,并要求进行修改和插入操作时仍须保证该视图只有计算机系的学生。
在这里插入图片描述
(2)建立计算机系选修了’3’号课程且成绩在90分以下的学生视图CS_SC_View,并对此视图进行查询。
在这里插入图片描述
(3)将学生的学号和平均成绩定义为一个视图。
在这里插入图片描述
(4)利用所建立的视图,查询选修了2号课程的计算机系的学生。
在这里插入图片描述
(5)将视图CS_View中学号为201215122的学生姓名改为“刘留”,并查看Student表中此学生姓名是否有变化,如有变化请说明原因。
在这里插入图片描述
(6)向视图CS_View中插入一条新的学生记录,其中学号为201215126,姓名为李三,年龄为20岁,院系为IS,若未能执行成功,则分析下执行结果。
在这里插入图片描述
分析:当加有with check option字句时,修改与删除操作无影响,但插入操作时会自动检查插入的数据的Sdept是否为CS,如果为否,则拒绝插入。
(7)将视图CS_View中学号为201215121的学生院系改为IS,查看Student表中此学生院系是否发生变化。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45713984/article/details/106958658