sql程序设计题共34个题带答案.docx

上传人:b****5 文档编号:3099405 上传时间:2022-11-17 格式:DOCX 页数:12 大小:19.12KB
下载 相关 举报
sql程序设计题共34个题带答案.docx_第1页
第1页 / 共12页
sql程序设计题共34个题带答案.docx_第2页
第2页 / 共12页
sql程序设计题共34个题带答案.docx_第3页
第3页 / 共12页
sql程序设计题共34个题带答案.docx_第4页
第4页 / 共12页
sql程序设计题共34个题带答案.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

sql程序设计题共34个题带答案.docx

《sql程序设计题共34个题带答案.docx》由会员分享,可在线阅读,更多相关《sql程序设计题共34个题带答案.docx(12页珍藏版)》请在冰豆网上搜索。

sql程序设计题共34个题带答案.docx

sql程序设计题共34个题带答案

Sql程序设计题

1.---------------

创建存储过程gch:

数据表jt包含以下列:

单位名称、姓名、职称、基本工资、职贴。

根据“职称”列,计算“职贴”列。

职称与职贴的对应关系:

教授490;副教授250;讲师150;助教100。

注:

“职称”的的类型为Varchar(10)。

createprocgch

as

updatejtset职贴=

case职称

when'教授'then490

when'副教授'then250

when'讲师'then150

else100

end

2.---------------

求s=-99-97-95-93-…-3-1

declare@iint,@sfloat

set@i=-99

set@s=0

while@i<=-1

begin

set@s=@s+@i

set@i=@i+1

end

print@s

3.---------------

编写程序,在100~999三位整数范围内,找出这样的数(水仙花数):

该数等于其各位数字的立方和。

如:

371=3^3+7^3+1^3,即371就是水仙花数。

注意:

3^3表示3的3次方,7^3表示7的3次方,1^3表示1的3次方。

DECLARE@Aint,@Bint,@Cint

DECLARE@Xint

SET@x=100

while@X<=999

begin

set@A=FLOOR(@x/100)

SET@B=FLOOR((@x-@a*100)/10)

SET@C=@X-@A*100-@B*10

if@x=power(@A,3)+power(@B,3)+power(@c,3)

print@x

set@X=@X+1

end

4.---------------

创建一个存储过程,输入一个自然数,判断其是否为素数并使用输出参数将判断结果输出。

createprocsushu@aint,@pvarchar

(2)output

as

declare@iint

set@i=2

while@i<=@a-1

begin

if@a%@i=0break

set@i=@i+1

end

if@i>@a-1

set@p='是'

else

set@p='否'

5.---------------

求自然数1~100之间偶数之和

declare@iint,@sfloat

set@i=1

set@s=0

while@i<=100

begin

set@s=@s+@i

set@i=@i+2

end

print@s

6.---------------

创建存储过程gcl:

统计数据表zcj(列名:

学号、班级、姓名、期末成绩、平时成绩、总成绩)每个班级的人数。

createprocgcl

as

select班级,count(*)fromzcjgroupby班级

7.---------------

求s=2+4+8+16…+1024

declare@iint,@sfloat

set@i=1

set@s=0

while@i<=10

begin

set@s=@s+power(2,@i)

set@i=@i+1

end

print@s

8.---------------

编写程序,输出由1、2、3、4、5、6这六个数字组成的所有可能的两位数,并统计它们的个数。

declare@iint,@jint,@pvarchar(100),@nint

select@i=1,@n=0

while@i<=6

begin

select@j=1,@p=''

while@j<=6

begin

set@p=@p+str(@i*10+@j,2)+space

(2)

set@n=@n+1

set@j=@j+1

end

print@p

set@i=@i+1

end

print@n

9.---------------

创建存储过程gcb:

计算数据表gz(列名:

单位名称、姓名、职称、基本工资、津贴、水电费、实发工资、备注)中的备注:

职称为“教授”、“讲师”、“助教”分别对应的备注为“高职”、“中职”、“初职”。

注:

“职称”的的类型为Varchar(10),“备注”列的类型为Varchar(10)。

createprocgcb

as

updategzset备注=case职称

when‘教授’then‘高职’

when‘讲师’then‘中职’

when‘助教’then‘初职’end

10.---------------

求s=a+aa+aaa+…+aaa…aaa(n个a),其中a和n的值由用户使用Set或Select语句自己输入。

例如,当a=3,n=4时,S=3+33+333+3333。

11.---------------

计算1^3+2^3+3^3+…+100^3.其中:

1^3表示1的3次方,2^3表示2的3次方,…,100^3表示100的3次方。

declare@iint,@sfloat

set@i=1

set@s=0

while@i<=100

begin

set@s=@s+power(@i,3)

set@i=@i+1

end

print@s

12.---------------

输出一个数列:

10,9,8,7,6,5,4,3,2,1

declare@aint

set@a=10

while@a>=1

begin

print@a

set@a=@a-1

end

13.---------------

创建存储过程gcm:

根据学号查询对应的准考证号,数据表为学生信息表xsxx(列名:

准考证号,学号,姓名,性别,专业,学院)。

当执行存储过程execgcm'201352480577',则可以显示学号为'201352480577'的同学的准考证号。

注:

“准考证号”、“学号”列的数据类型均为char(12)。

createprocgcm@xhchar(12)

as

select准考证号fromxsxxwhere学号=@xh

execgcm‘201352480577’

14.---------------

计算1!

+2!

+…+20!

declare@iint,@jint,@sreal,@preal

select@i=1,@s=0,@p=1

while@i<=20

begin

set@p=@p*@i

set@s=@s+@p

set@i=@i+1

end

print@s

15.---------------

利用随机函数RAND和函数floor,产生30个1到20之间的随机整数,使用WHILE语句显示这30个随机数。

Declare@iint

Set@i=1

While@i<=30

Begin

Printfloor(rand()*20+1)

Set@i=@i+1

End

16.---------------

求s=0.01+0.02+0.03+…+1

declare@ifloat,@sfloat

set@i=0.01

set@s=0

while@i<=1

begin

set@s=@s+@i

set@i=@i+0.01

end

print@s

17.---------------

创建存储过程gce:

计算数据表fk(列名:

序号、姓名、数学、物理、历史、政治、总分、分科意见)中的分科意见。

总分>360,全能生;数学、物理分数之和>=160,理科生;其它情况:

文科生。

注:

“分科意见”列的类型为Varchar(10)。

createprocgce

as

updatekfset分科意见=case

when总分>360then‘全能生’

when数学+物理>=160then‘理科生’

then‘文科生’end

18.---------------

创建存储过程gco:

根据学号查询和该学号同一宿舍同学的姓名及联系电话,数据表为学生管理表xsgl(列名:

学号,姓名,性别,宿舍号,专业,院系,联系电话)。

当执行存储过程execgco'201352480577',则可以显示和该学号同宿舍同学的姓名及联系电话。

注:

“学号”列的数据类型为char(12),“宿舍号”和“联系电话”列的数据类型均为varchar(20)。

createprocgco@xhchar(12)

as

select姓名,联系电话fromxsgl

where宿舍号=(select宿舍号from学号=@xh)

execgco'201352480577'

19.---------------

设纸的厚度为0.5毫米,将纸对折,再对折…,求至少对折多少次,纸张的厚度能达到珠穆朗玛峰的高度8848米。

declare@hreal,@nint

select@h=0.0005,@n=0

while@h<=8848.13

begin

set@h=@h*2

set@n=@n+1

end

print'至少对折'+cast(@nasvarchar)+'次可以达到'

20.---------------

创建存储过程gck:

统计数据表zcj(列名:

学号、班级、姓名、期末成绩、平时成绩、总成绩)每个班级总成绩的平均值。

Createprocgck

As

Select班级,avg(总成绩)fromzcj

Groupby班级

21.---------------

在国际象棋棋盘的64个格上依次放入小麦1粒、2粒、4粒、8粒…,求按此规律放满64个格需要多少粒小麦。

declare@aint,@bfloat

set@a=0

set@b=0

while@a<=63

begin

set@b=@b+power(2.0,@a)

set@a=@a+1

end

print@b

22.---------------

求s=1+1/2*2+1/3*3+1/4*4+…+1/100*100

declare@ifloat,@sfloat

set@i=1

set@s=0

set@s=0

while@i<=100

begin

set@s=@s+1.0/(@i*@i)

set@i=@i+1

end

print@s

23.---------------

创建存储过程gcq:

根据优惠率输出对应图书的折后价,数据表为图书管理表tsgl(列名:

图书标识,书名,图书分类,价格,出版日期)。

如优惠率为20%,当执行存储过程execgcq0.2,则显示对应图书的图书标识,书名及折后价。

注:

“图书标识”列的数据类型为char(6),“价格”列的数据类型为real。

Createprocgcq@yhreal

As

Select图书标识,书名,价格*@yhas折后价fromtsgl

24.---------------

创建存储过程gcn:

根据姓名查询对应的准考证号,数据表为学生信息表xsxx(列名:

准考证号,学号,姓名,性别,专业,学院)。

当执行存储过程execgcn'李丽',则可以显示姓名为'李丽'同学的准考证号。

注:

“准考证号”列的数据类型为ch

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1