实验七 视图

第1关:创建视图

实验完成要求

根据代码区的提示,将SQL语句书写在对应的代码区中。

注:请务必将select子句中出现的列名小写,顺序必须和题目要求一致

1、创建视图vcg,查询课程名为'Math'的课程中,成绩不及格的学生,列出学号,课程号,成绩。 2、修改视图vcg中的数据,将成绩加5分

3、删除视图vcg中的数据,将成绩小于40分的选课信息删除。

Create view vcg
as
select sno,cno,grade
from SC
where cno in(select cno from Course  where cname='Math') and grade<60;
update vcg
set grade=grade+5;
delete 
from vcg
where grade<40;

第2关:创建和使用视图

实验完成要求

根据代码区的提示,将SQL语句书写在对应的代码区中。

注:请务必将select子句中出现的列名小写,顺序必须和题目要求一致

1、创建视图vsumc,使其包含每个选了课的学生获得的学分(成绩及格才能得学分)。列出学号和总学分(列名:ssumc)。

2、使用vsumc视图,查询男同学总学分高于12分的学生的学号,姓名,性别。

3、使用vsumc视图,查询总学分最高的学生,列出学号,姓名,性别,年龄,所在系

4、使用vsumc视图,查询平均分大于等于65分的学生的学号,平均分(列名:savg),总学分(列名:ssumc)

create view vsumc(sno,ssumc)
as 
select sno,sum(ccredit)
from SC,Course
where grade>=60 and Course.cno=SC.cno
group by sno;
select sno,sname,ssex
from Student
where ssex='m' 
and exists(select * from vsumc where sno=student.sno and ssumc>12);
select vsumc.sno,sname,ssex,sage,sdept
from vsumc,Student
where  ssumc >= all(
	select ssumc from vsumc
) and Student.sno = vsumc.sno;
select SC.sno, avg(grade) savg,ssumc 
from vsumc,SC 
where SC.sno=vsumc.sno 
group by SC.sno,ssumc
having avg(grade)>=65;

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是关于 MySQL 创建视图实验内容: 1. 首先,我们需要创建一个示例表格,用于后续的视图创建。可以使用以下 SQL 语句创建一个 student 表格: ```sql CREATE TABLE student ( id INT PRIMARY KEY, name VARCHAR(20), gender VARCHAR(4), age INT, major VARCHAR(20), grade INT ); ``` 2. 接下来,我们可以向这个表格插入一些示例数据,例如: ```sql INSERT INTO student VALUES (1, 'Tom', 'Male', 20, 'Computer Science', 80), (2, 'Jerry', 'Male', 19, 'Mathematics', 75), (3, 'Alice', 'Female', 21, 'Computer Science', 85), (4, 'Bob', 'Male', 22, 'Physics', 90), (5, 'Eve', 'Female', 20, 'Computer Science', 82); ``` 3. 现在,我们可以开始创建视图了。视图是一种虚拟表格,它并不存储数据,而是基于现有的表格进行计算和过滤,最终呈现给用户的结果集。以下是创建视图的一般语法: ```sql CREATE VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition; ``` 4. 例如,我们可以创建一个名为 cs_student 的视图,它只包含专业为计算机科学的学生的信息。可以使用以下 SQL 语句创建这个视图: ```sql CREATE VIEW cs_student AS SELECT * FROM student WHERE major = 'Computer Science'; ``` 5. 现在,我们可以查询这个视图,以查看其包含的数据。可以使用以下 SQL 语句查询这个视图: ```sql SELECT * FROM cs_student; ``` 这个查询将返回专业为计算机科学的所有学生的信息。 6. 如果需要更新视图,可以使用以下 SQL 语句: ```sql CREATE OR REPLACE VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition; ``` 例如,如果我们需要更新之前创建的 cs_student 视图,只包含成绩大于等于 80 分的学生的信息,可以使用以下 SQL 语句: ```sql CREATE OR REPLACE VIEW cs_student AS SELECT * FROM student WHERE major = 'Computer Science' AND grade >= 80; ``` 7. 最后,如果不再需要某个视图,可以使用以下 SQL 语句删除它: ```sql DROP VIEW view_name; ``` 例如,如果我们需要删除之前创建的 cs_student 视图,可以使用以下 SQL 语句: ```sql DROP VIEW cs_student; ``` 好了,以上就是关于 MySQL 创建视图实验内容。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值