数据库SQL问题

现有关系数据库如下: 学生(学号,姓名,性别,专业、奖学金) ,课程(课程号,名称,学分) ,成绩(学号,课程号,分数)

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;

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-07-06
什么数据库??mysql的还是oracle的或是其他的
相似回答