Sql 练习题 (六)

文章展示了如何使用SQL创建和操作视图,包括查询信息管理系学生的详细信息,选修特定课程的学生信息,以及基于这些视图进行进一步筛选和统计,如年龄、成绩和课程数量等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

--(1)建立查询信息管理系学生的学号、姓名、性别和年龄的视图。

create view find1 as select sno 学号,sname 姓名,ssex 性别,sage 年龄 
from student 
where Dept='信息管理系';


 
--(2)建立查询信息管理系选了C001课程的学生学号、姓名和成绩的视图。  

create view find2 as select s.sno 学生学号,sname 姓名,grade 成绩 
from student s join SC c on s.sno=c.sno 
where Cno='C001' and Dept='信息管理系';

--(3)利用第1题建立的视图,建立查询信息管理系1991年之后出生的学生学号、姓名和年龄的视图。  

create view find3 as select sno 学生学号,sname 姓名,sage 年龄 
from find1 where Sage<32;

--(4)定义一个查询学生出生年份的视图,内容包括学号,姓名和出生年份。

create view find4 as select sno 学号,sname 姓名,2023-sage 出生年份 
from student ;

--(5)定义一个查询每个学生的学号及平均成绩的视图S_G。

create view S_G as select sno 学号 , avg(grade)平均成绩 
from SC 
where Grade is not null group by Sno ;

--(6)利用第1题建立的视图,查询信息管理系男生的信息。

select * from find1 where 性别='男';

--(7)查询信息管理系选修了“C001”号课程且成绩大于等于60的学生的学号、姓名和成绩。

select  学生学号, 姓名,  成绩 from find2 where 成绩>=60;

--(8)查询信息管理系学生的学号、姓名、所选课程名

select s.sno 学号,sname 姓名 ,cno 所选课程名 
from student s join SC c on s.sno =c.sno 
where Dept='信息管理系';

--(9)利用第5题建立的视图,查询平均成绩大于等于80的学生的学号和平均成绩。

select 学号,平均成绩 from find5 where 平均成绩 >=80 ;

--(10)修改S_G视图,使其统计每个学生的考试平均成绩和修课总门数。

alter view S_G 
as 
select AVG(grade) 平均成绩,COUNT(*) 选课总门数 
from SC  
group by Sno ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

好学的9527

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值