sql声明变量,及if -else语句、while语句的用法

--声明变量,同时为变量赋值
declare @n int=10 
print @n
--单独使用一条语句为变量复制
set @n=20
print @n
select @n=30
print @n
--通过set赋值与select复制的区别
select @n=COUNT(*) from Employees
print @n
set @n=(select COUNT(*) from Employees)--当使用set给变量赋值时。必须给查询语句用括号括起来
print @n
select @n=TblStudent.tSAge from TblStudent --当使用select给变量赋值的时候,如果查询语句返回多条记录,那么会将最后一条记录的值赋给变量
print @n     --赋最后一个值
set @n=(select TblStudent.tSAge from TblStudent)--当使用set赋值的时候,如果等号右边有多个值,直接报错!
--select与print输出值的时候差别
--select @name,@id
--print @name
--print @name,@id 错误

--------------------------
---------------if else------------------
declare @n1 int=3
if @n1>10
begin
print 'n1对于10'
print @n1
end
else
begin
print 'n1小于10'
print @n1
end
--------------------------------------------------
declare @i int=0
declare @sum1 int=0
declare @sum2 int=0
while @i<100
begin
set @i=@i+1
    if @i%2=0
    begin
    set @sum1=@sum1 +@i
    end
    else
    begin
    set @sum2=@sum2+@i
    end
end
print @sum1
print @sum2
---------------------------------------------------
declare @j int=0
declare @b int=1
declare @sumz int=0 --求质数的和
declare @sumf int=0 --求非质数的和
while @j<10
begin
    set @b=1;
    set @j=@j+1
    while @b<@j
    begin
        set @b=@b+1;
        if @j%@b=0
        begin
            break;    
        end
    end
    if @b=@j
    set @sumz=@sumz+@j;
    else
    set @sumf=@sumf+@j;
end
print @sumz
print @sumf
原文地址:https://www.cnblogs.com/tobecabbage/p/3570167.html