早教吧 育儿知识 作业答案 考试题库 百科 知识分享

麻烦T-SQL高手解释一下这个九九乘法表declare@iint,@jintdeclare@MultiTablevarchar(4000)select@i=9,@j=1,@MultiTable=''while@i>=1beginset@j=@iwhile@j>=1beginselect@MultiTable=convert(char(2),@j)+'*'+convert(char(2),@i)+

题目详情
麻烦T-SQL高手解释一下这个九九乘法表declare @i int,@j int declare @MultiTable varchar(4000) select @i=9,@j=1,@MultiTable='' while @i>=1 begin set @j=@i while @j>=1 begin select @MultiTable=convert(char(2),@j)+'* '+convert(char(2),@i)+'= '+convert(char(2),@i*@j)+' '+@MultiTable set @j=@j-1 end set @MultiTable=char(13)+@MultiTable set @i=@i-1 end print @MultiTable
▼优质解答
答案和解析
1。定义变量以及变量初始化 2。对i循环,将@i的值赋给@j,第一次@i为9 @j为9,所以@MultiTable=9*9=81 3。由set @j=@j-1得 @j=8,下次循环为 @i为9 @j为8 @MultiTable=9*8=72 9*9=81 4。依次执行直到@j=1 里层循环结束,这时执行第2次外层循环 即 @i为8,@j=8,7,6,5,4,3,2,1 5。最后得到结果@MultiTable= 1 * 1 = 1 1 * 2 = 2 2 * 2 = 4 1 * 3 = 3 2 * 3 = 6 3 * 3 = 9 1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16 1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25 1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36 1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49 1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64 1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81