begin..end 用于定义语句块,if..else用于条件判断,if后面跟条件。
declare @avgg float
select @avgg=avg(Grade) from Grade where CourseID='Dp010001'
print @avgg
begin
if @avgg >=70
print'just so so!'
else
print 'bad!!'
end
while语句是循环语句,以下是一段从1一直累加到100,最后将结果打印出来的代码。
--while语句
declare @s int ,@i int
set @i=0
set @s=0
while @i<100
begin
set @i=@i+1
set @s=@s+@i
end
print @s --5050
break语句,跳出循环。当@s = 1的时候break掉,跳出循环,打印结果。
--break语句
declare @s int ,@i int
set @i=0
set @s=0
while @i<100
begin
set @i=@i+1
set @s=@s+@i
if @s = 1
break
end
print @s --1
continue语句,会忽略continue下面的所有语句。
--continue语句
declare @s int ,@i int
set @i=0
set @s=0
while @i<100
begin
set @i=@i+1
continue
set @s=@s+@i
end
print @s --0
case..when..end,像C语言的switch..case
--查询银行卡信息,将银行卡状态1,2,3,4分别转换成汉字“正常,挂失,冻结,注销”
--并且根据银行卡余额显示银行卡等级
--20万以下为“普通用户”,30万以上为“VIP用户”
--显示列,分别为卡号,身份证号,姓名,余额,用户等级,银行卡状态
select CardNo 卡号, AccountCode 身份证号,RealName 姓名,CardMoney 余额,
case
when CardMoney >=300000 then 'VIP用户'
else '普通用户'
end 用户等级,
case CardState
when 1 then '正常'
when 2 then '挂失'
when 3 then '冻结'
when 4 then '注销'
else '异常'
end 银行卡状态
from BankCard join AccountInfo
on BankCard.AccountId=AccountInfo.AccountId