SQL数据库题库及答案 (5)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实训9

-- 一、分析代码

--2)

declare@i int,@sum int

set@sum=0

set@i=1 --计算偶数和时,i的初值为

--set @i=1,@sum=0 错误,用set不能同时进行多个变量的赋值,用select可以

--select @i=1,@sum=0

while@i<100 --计算偶数和时,此处的循环条件应改为while @i<=100

begin

set@sum=@sum+@i

set@i=@i+2

end

print'1~100之间的奇数和为:'+convert(char(10),@sum) print cast(@i as char(5))--计算偶数和时,此处的i值是多少???

declare@i int

select@i=1

while@i<500

begin

if@i%3=0 or@i%7=0

--if @i%3=0 and @i%7=0

print@i

set@i=@i+1

end

--4)

waitfor delay'00:00:06'

use book

select*from book_Info

go

waitfor time'8:50:40'

use book

select*from user_Info

declare@x int,@y int,@z int

select@x=1,@y=2,@z=3

if@x>@y

print'x>y'--打印字符串'x>y'

else if@y>@z

print'y>z'

else print'z>y'

--6)

DECLARE@Score int,@Rank nchar(4)--定义局部变量

SET@Score=79 --百分制成绩

SET@Rank=--为等级成绩变量赋值

CASE--用搜索CASE结构将百分制成绩转换为等级成绩WHEN (@Score>= 0)AND(@Score<60)THEN'不及格'

WHEN (@Score>=60)AND(@Score<70)THEN'及格'

WHEN (@Score>=70)AND(@Score<80)THEN'中等'

WHEN (@Score>=80)AND(@Score<90)THEN'良好'

WHEN (@Score>=90)AND(@Score<=100)THEN'优秀'

ELSE'非法成绩'

END;

PRINT CONVERT(char(3),@Score)+'分对应的等级为:'+@Rank GO

USE Library

GO

SELECT SUBSTRING(书名,3,4)AS'SUBSTRING(''一个陌生女人的来信'',3,4)',

LEFT(出版社,4)AS'LEFT(''北京燕山出版社'',4)',

RIGHT(书名,2)AS'RIGHT(''一个陌生女人的来信'',2)' FROM Books WHERE馆藏号='SF73101';

GO

-- 二、用T-SQL语句完成以下题目

-- 1、编程找出~100间的偶数

declare@j int

set@j=2

print'1~100间的偶数是:'

while@j<=100

begin

print@j

set@j=@j+2

end

-- 2、学生数据库中,判断成绩表中是否有学生的成绩少于分),如果有,则将所有学生的成绩增加,直到所有学生的成绩都多于use StudentScore

go

select*from Score where Score<60

while (select MIN(Score)from Score)<60

update Score set Score=Score+1 where Score<100 select*from Score

--3、输出+2+3+4+5+6+……+100的结果

declare@i int,@sum int

select@i=1,@sum=0

while@i<=100

begin

set@sum=@sum+@i

set@i=@i+1

end

select@sum as'1+2+3+4+5+6+……+100的结果'

print'1+2+3+4+5+6+……+100的结果'+convert(char,@sum) print'1+2+3+4+5+6+……+100的结果'+cast(@sum as char)

--4、打印~30之间能被整除的整数以及它们的和declare@i int,@sum int

select@i=1,@sum=0

print'1~30之间能被整除的整数有:'

while (@i<=30)

begin

if@i%5=0

begin

print@i

set@sum=@sum+@i

end

set@i=@i+1

end

print'它们的和是:'+convert(char,@sum)

相关文档
最新文档