使用sql语言创建数据库的方法(6)

2020-02-21 19:06

Where 平均成绩 >= 60

创建视图v5,查询平均成绩在60分以上的女同学的学号,姓名和平均成绩 Creat view v5 As

Select v41.学号,v41.姓名,v41.平均成绩

From v41 join student on (v41.学号=student.sno) Where avg(grade) >=60 and ssex='女' Select * from v5 (1)基于基本的视图

(2)基于基本表的链接的视图 (3)基于分组的视图(group by) (4)基于视图的视图(视图的列名) (5)基于视图与表连接的视图 视图的受限更新

不是所有的视图都可以执行更新(重要)只有行列子集视图是肯定可以更新的(行列子集视图:保留基本表的部分列和部分行,以及该表的主键) Create view v6 As Select *

From student where ssex = '女' 则v6视图就是行列子集视图,可以更新 视图更新的是视图所对应的基本表内的数据 例:把所有的女同学的年龄减少一岁

Update v6 Set sage = sage-1

例:把所有的女同学的信息删除 Delete from v6

Delete from student where ssex = '女'

创建视图v3,统计每个学生的平均成绩显示结果包含学号,姓名,平均成绩 将每个同学的平均成绩增加3分 Update v3

Set 平均成绩 = 平均成绩+3

视图的更新被禁止了,因为v3视图内有派生类 即经过计算的列(平均成绩) 问题:

举例说明是否所有的视图都可以执行更新操作 视图的删除 Drop view v3 Select *from v41 练习:

1、创建视图v7,查询所有选择了2门以上课程的学生的学号,姓名,选择课程的门数(包含2门课)

Create view v7(学号,姓名,门数) As

Select student.sno'学号',sname'姓名',count(cno)'门数' From sc join student

On (sc.sno=student.sno) Group by student.sno,sname Having count (cno) >=2 )

2、创建视图v8,查询每个同学的平均成绩,按照平均成绩降序排列显示出学号,姓名和平均成绩 create view v8 as

select top 100 student.sno'学号',sname'姓名',avg(grade)'平均成绩' from sc join student on(sc.sno=student.sno) group by student.sno,sname order by avg(grade)desc

以自己的学号建立数据库,包含3个文件,1个主数据文件,一个辅助数据文件,一个日志文件,保存“d:\\RT”文件夹。

在各自的数据库中建立3个表,(x 班级学号)学生(学号,姓名,性别,专业) 课程(课程号,课程名,学分,学时) 选课(学号,课程号,成绩) 建立每个表的主键 完成查询

(1)查询每个学生的基本信息

(2)查询每个学生的选课信息,包括学号,姓名和课程号,课程名及成绩 (3)查询每个学生选择的课程数,包括学号,姓名和课程号

(4)建立视图v1,统计每个学生的平均成绩,包含学号,姓名和平均成绩 (5)建立视图v2,将平均成绩高于80的同学的学号,姓名和平均成绩显示出来

(6)将每个同学的年龄增加一岁 (7)删除没有成绩的学生的选课信息


使用sql语言创建数据库的方法(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017 - 2018学年高中语文专题一“风神初振”的初唐诗滕王阁教师

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: