S2 第三章SQL编程

.if练习
--统计并显示2013-- 的oop考试平均分
--如果平均分在70以上,显示“考试成绩优秀”,并显示前三名学生的考试信息
--如果在70分以下,显示“考试成绩较差”,并显示后三名学生的考试信息
--.定义一个变量,保存平均分
declare @avg int
select @avg= AVG(studentresult) from Result,Subject
where Result.SubjectId=Subject.SubjectId
and ExamDate>='2013-08-09'
and ExamDate<'2013-08-10'
and Subject.SubjectName='oop' --.判定:>= 显示优秀,同时显示分数最高的三个人的分数
if(@avg>=)
begin
print '优秀'
--显示前名成绩 当天 oop
select top * from Result,Subject
where result.SubjectId=Subject.SubjectId
and ExamDate>='2013-08-09'
and ExamDate <'2013-08-10'
and SubjectName='oop'
--降序排列desc
order by StudentResult desc end
else
begin
print '较差'
--显示前名成绩 当天 oop
select top * from Result,Subject
where result.SubjectId=Subject.SubjectId
and ExamDate>='2013-08-09'
and ExamDate <'2013-08-10'
and SubjectName='oop'
--降序排列desc
order by StudentResult asc
end -------------------------------------------------
考试面试题 行转列
select 日期=rq,
count(case when shengfu='胜' then end) as '胜',
COUNT(case when shengfu='负' then end) as'负'
from tmp
group by rq -------------------------------------------------
上机练习1 打印三角形
declare @a int,@b char,@c varchar()
set @a=
set @b='*'
set @c=REPLICATE(@b,@a)
while(@a<)
begin
set @a=@a+
set @c=REPLICATE(@b,@a)
print @c
end ------------------------------------------------- --求符合条件的人数
--if me ,I'll do this
--.定义一个int类型的变量,保存课程名称为"oop"对应的课程编号
declare @subid int
select @subid=subjectid
from Subject
where SubjectName='oop'
--max() min() sum() count() avg()
--定义一个Datetime类型的变量,保存最近一次考试时间
declare @Maxdate datetime
select @Maxdate=MAX(examdate)
from Result
where SubjectId=@subid --easy 总人数
--定义一个保存总人数的变量
declare @totalCount int
select @totalCount=COUNT(*)
from Result
where SubjectId=@subid
and ExamDate=@Maxdate
and StudentResult< --
--判定人数> --循环
while(@totalCount>)
begin
--有不及格的,提分+ 高于95,不提
update Result set StudentResult=StudentResult+
where SubjectId=@subid
and ExamDate=@Maxdate
and StudentResult< select @totalCount=COUNT(*)
from Result
where SubjectId=@subid
and ExamDate=@Maxdate
and StudentResult<
end use MySchool
select StudentName,Address from Student
where Birthday>(select Birthday from Student where StudentName='习大大')
课后简答题九九乘法表
--设置i变量
declare @i int
--设置j变量
declare @j int
--设置乘法表变量
declare @chengfabiao varchar()
--给i,j,@chengfabiao赋初始值
select @i=,@j=,@chengfabiao=''
--使用whIle循环语句和变量打印九九乘法表
while @i>=
begin
set @j=@i
while @j>=
begin
select @chengfabiao=convert(char(),@j)+'x '+convert(char(),@i)+'= '+convert(char(),@i*@j)+' '+@chengfabiao
set @j=@j-
end
set @chengfabiao=char()+@chengfabiao
set @i=@i-
end
print @chengfabiao
上一篇:在Activity的生命周期中,会被系统回调的方法


下一篇:Akka.net路径里的user