SQL数据库题库及答案 (5)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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)