T-SQL编程(参照教材学生成绩管理数据库)
1、编写T-SQL查找王敏的前一个学号学生和后一个学号学生的相关信息 。
Declare @name varchar(10) Set @name = '王敏'
Select * from student where Sname = @name Declare @SSno int
Select @SSno = Sno from student Where Sname = @name Select * from student where Sno = @SSno + 1 Select * from student where Sno = @SSno - 1
2、统计并显示cno为‘2’的课程的平均分,如果平均分在85以上,显示“成绩优秀“,并显示最高学生的成绩;如果在85以下,显示“成绩较差“,并显示最低学生的成绩。
Set NOCOUNT ON Declare @Gradeavg float
Select @Gradeavg=AVG(Grade) from SC
Print '学生平均成绩' +convert(varchar(5),@Gradeavg) IF (@Gradeavg < 85) Begin
Print '成绩较差'
Select Min(Grade) from SC where Cno = '2' end ELSE Begin
Print '成绩优异'
Select Max(Grade) from SC where Cno = '2' end
3、假定要给学生成绩加分。加分规则为:给没达到90分的学生每人都加2分,看是否都达到90分以上,如果没有全部达到90分以上,每人再加2分,再看是否都达到90分以上,如此反复提分,直到所有人都达到90分以上为止 。
Select * from SC Declare @n int While(1=1) Begin
Select @n=count(*) from SC where Grade < 90
IF (@n>0)
Update SC set Grade= Grade + 2 Else break end
Print '加分之后的学生分数是:' Select * from SC
GO
4、根据如下规则对学生成绩进行反复加分,直到平均分超过90分为止。请编写T-SQL语句实现。 90分以上: 不加分 80-89分: 加1分 70-79分: 加2分 60-69分: 加3分 60分以下: 加5分
Select * from SC Declare @n int