现有关系数据库如下: 学生(学号,姓名,性别,专业、奖学金) ,课程(课程号,名称,学分) ,成绩(学号,课程号,分数)
1. 修改学号为‘10001’的同学的课程号为‘105’的成绩为原成绩 + 10
2. 删除“张强”同学的所有成绩
3. 为学生表创建“专业”的索引
4. 定义学生成绩至少有一门课程成绩在95分以上的课程视图AAA,包括课程号、名称和学分
5. 按课程分类统计平均分
6. 检索学生成绩得过满分(100分)的课程的课程号、名称和学分
7. 检索“计算机应用”专业中获得奖学金的学生信息,包括学号、姓名
8. 检索没有不及格的学生的学生信息,包括学号、姓名和专业
设计存储过程,输入n,完成1+2+3+……+n的计算并输出结
1:
update 成绩 set 分数=105 where 学生.学号='10001'
2:
delete 成绩 where 学号
in
(select gra.学号 as sno from 成绩 gra, 学生 stu
where gra.学号 = stu.学号
and stu.姓名 like '张%');
3:
create index field_index on 学生(专业)
4:
create view courseView
as
select course.课程号,course.名称,course.学分
from 课程 course,成绩 grade
where course.课程号 = grade.课程号
group by course.课程号
having max(grade.分数)>95
5:
select course.名称,avg(grade.分数)
from 课程 course,成绩 grade
where course.课程号 = grade.课程号
group by course.课程号
6:
select course.课程号, course.名称,course.学分
from 课程 course,成绩 grade
where course.课程号 = grade.课程号
and grade.分数=100
7:
select 学号,姓名
from 学生
where 专业='计算机应用'
and 奖学金>0;
8:
select student.学号, student.姓名,student.专业
from 学生 stu
where stu.学号
not in
(select student.学号
from 学生 student,成绩 grade
where student.学号 = grade.学号
and grade.分数<60)
//存储过程
create procedure calculate ( in inputN int,out result int)
begin
declare
i int default 1;
set result=0;
while i<=inputN do
set result=result+i;
set i=i+1;
end while;
end;