Sql程序设计题
1.---------------
创建存储过程gch: 数据表jt包含以下列:单位名称、、职称、基本工资、职贴。根据“职称”列,计算“职贴”列。职称与职贴的对应关系:教授490;副教授250;讲师150;助教100。注:“职称”的的类型为Varchar(10)。
createprocgch
as
updatejtt职贴=
ca职称
when'教授'then490
when'副教授'then250
when'讲师'then150
el100
end
2.---------------
求s=-99-97-95-93-…-3-1
declare i int,s float
t i=-99
t s=0
while i<=-1
begin
t s=s+i
t i=i+1
end
sybaprint s
3.---------------
编写程序,在100~beg的用法999三位整数围,找出这样的数(水仙花数):该数等于其各位数字的立方和。如:371=3^3+7^3+1^3,即371就是水仙花数。注意:3^3表示3mygirlfriend的3次方,7^3表示7harmonic drive的3次方,1^3表示1的3次方。
DECLAREAint,Bint,Cint
DECLARE*int
SET*=100
while*<=999
begin
tA=FLOOR(*/100)
SETB=FLOOR((*-a*100)/10)
SETC=*-A*100-B*schrodinger10
if*=power(A,3)+power(B,3)+power(c,3)
print*
t*=*+1
end
董事长英文翻译4.---------------
创建一个存储过程,输入一个自然数,判断其是否为素数并使用输出参数将判断结果输出。
createprocsushu a int,p varchar(2) output
as
declareiint
ti=2
whilei<=a-1
begin
ifa%i=0 break
ti=i+1
end
ifi>a-1
t p='是'
el
t p='否'
5.---------------
求自然数1~100之间偶数之和
declare i int,s float
srst i=1
t s=0
while i<=100
begin
t s=s+i
t i=i+2
end
print s
6.---------------
创建存储过程gcl: 统计数据表zcj (列名:学号、班级、、期末成绩、平时成绩、总成绩)每个班级的人数。
createprocgcl
as
question1lect 班级,count(*) from zcj group by 班级
7.---------------
求s=2+4+8+16…+1024
declare i int,s float
t i=1
t s=0
while i<=10
begin
t s=s+power(2,i)
t i=i+1
end
print s
8.---------------
编写程序,输出由1、2、3、4、5、6这六个数字组成的所有可能的两位数,并统计它们的个数。
declare i int,j int,p varchar(100),n int
lect i=1,n=0
while i<=6
begin
lect j=1 ,p=''
while j<=6
begin
t p=p+str(i*10+j,2)+space(2)
t n=n+1
t j=j+1
end
print p
t i=i+1
end
print n
9.---------------chrome web store
创建存储过程gcb: 计算数据表gz(列名:单位名称、、职称、基本工资、津贴、水电费、实发工资、备注)中的备注:职称为“教授”、“讲师”、“助教”分别对应的备注为“高职”、“中职”、“初职”。注:“职称”的的类型为Varchar(10),“备注”列的类型为Varchar(10)。
createprocgcb
as
update gz t 备注=ca 职称
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 i int,s float
t i=1
t s=0
while i<=100
begin
t s=s+power(i,3)
t i=i+1
end
print s
12.---------------
输出一个数列:10,9,8,7,6,5,4,3,2,1
declare a int
t a=10
while a>=1
begin
print a
t a=a-1
end
13.---------------
创建存储过程gcm: 根据学号查询对应的号,数据表为学生信息表*s**(列名:号,学号,,性别,专业,学院)。当执行存储过程e*ec gcm '7',则可以显示学号为'7'的同学的号。注:“号”、“学号”列的数据类型均为char(12)。
createprocgcm *h char(12)
as
lect 号 from *s** where 学号=*h
e*ec gcm ‘7’
14.---------------
计算1!+2!+…+20!
declareiint,jint,sreal,preal
lecti=1,s=0,p=1
whilei<=20
begin
tp=p*i
ts=s+p
ti=i+1
end
prints
15.---------------
利用随机函数RAND和函数floor,产生30个下线英文1到20之间的随机整数,使用WHILE语句显示这30个随机数。