第三章 SQL的编程

use MySchool
go
create table  shengfu
(
time  datetime    not  null ,
result nvarchar  not null
)
insert  into shengfu(time,result)
values (2005-05-09,'胜')
insert into shengfu (time,result)
values  (2005-05-09,'胜')
insert into shengfu (time,result)
values (2005-05-09,'负')
insert into shengfu (time,result)
values (2005-05-09,'负')
insert into shengfu (time,result)
values  (2005-05-10,'胜')
insert into shengfu (time,result)
values (2005-05-10,'负')
insert into shengfu (time,result)
values (2005-05-10,'负')

select time   as   日期,
sum(
case
when result='胜'  then 1
else  0
end

)  as  胜,
sum(
case
when  result ='负'  then 1
else 0

end)  as  负
from [dbo].[shengfu] 
group by time



--用二层循环打印直角三角形
declare @num  int
set @num=0
declare @state   nvarchar(32)
set @state='★'
declare @sum  int
set @sum=0
while(@num<5)
begin
while (@sum<=@num)
begin
print @state
set @state+='★'
set @sum=@sum+1
end
print ''
set @num=@num+1
end



--用一层循环打印直角三角形
declare @a int
set @a=1
while( @a<=5)
begin
print(replicate('*',@a))
set @a=@a+1
end

--while 循环   case   end   经典练习



--用美国的ABCDE标准打分

--1.查询subject表中oop科目的编号
declare @subid  int
select @subid =subjectid  from  subject
where  subjectname='oop'
--2.找到一个变量,存储最近一次考试的时间
declare @maxdate  datetime
select @maxdate=max(examdate) from  result
where  subjectid=@subid

select student.StudentNo  as  学号,等级=  
case
   when StudentResult >90  then 'A'
   when StudentResult>80    then 'B'
   when StudentResult>=70   then'C'
   when StudentResult>60   then'D'
   else 'E'
   end
from Student,result    where  Student.StudentNo=result.StudentNo  and  SubjectId=@subid
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值