T-SQL编程及练习题
- 格式:pdf
- 大小:194.40 KB
- 文档页数:33


问题:
统计并显示某课程平均分,如果平均分在70以上,显示“成绩优秀“,并显示前三名学员的考试信息;如果在70以下,显示“本班成绩较差“,并显示后三名学员的考试信息 。
分析:
第一步,统计平均成绩存入临时变量;
第二步,用IF-ELSE判断;
declare @q int
select @q = avg(degree) from sc
select '本班平均分'+ convert(varchar(5),@q)
if(@q>70)
begin
print'成绩优秀,前三名成绩为:'
select top 3 * from sc order by degree desc
end
else
begin
print'成绩较差,前后三名成绩为:'
select top 3 * from sc order by degree
end
问题:
某课程本次考试成绩较差,假定要提分,确保每人笔试都通过。提分规则很简单,先每人都加2分,看是否都通过,如果没有全部通过,每人再加2分,再看是否都通过,如此反复提分,直到所有人都通过为止 。
分析:
第一步,统计没通过的人数 ;
第二步,如果有人没通过,加分;
第三步,循环判断。
declare @q int
while (1=1)
begin
select @q=count(*)from sc where degree<60
if(@q>0)
update sc set degree=degree+2
else
break
end
print '加分后成绩如下:'
select * from sc
问题:
采用美国的ABCDE五级打分制来显示笔试成绩。
A级: 90分以上
B级: 80-89分
C级: 70-79分
D级: 60-69分
E级: 60分以下
print 'ABCDE五级打分制'
select no,成绩=case
实验四 T-SQL编程
1、目的与要求
(1)进一步巩固第2章至第4章所学内容。
(2)掌握用户自定义数据类型。
(3)掌握变量的分类及其使用方法。
(4)掌握各种运算符的使用。
(5)掌握各种控制语句的使用。
(6)掌握系统函数及用户自定义函数的使用。
2、实验准备。
(1)了解T-SQL支持的各种基本数据类型。
(2)了解自定义数据类型使用的一般步骤。
(3)了解T-SQL各种运算符、控制语句的功能及其使用方法。
(4)了解系统函数的调用方法。
(5)了解用户自定义函数使用的一般步骤。
3、实验内容
(1)自定义数据类型的使用。
①对于实验2中给出的数据库结构,再自定义一数据类型ID_type,用户描述员工编号。在“查询分析器”窗口中输入如下程序并执行。
执行上面代码,但是出现这样的错误,不知道是不是之前就存在了。
②在YGGL数据库中创建表Employees3表,表结构与Employees表类似,知识EmployeeID列使用的数据类型为用户自定义数据类型ID_type。 (2)变量的使用。
①对于实验2给出的数据库表结构,创建一个名为female的用户变量,并在SELECT语句中使用该局部变量查找表中所有女员工的编号、姓名。
②定义一个变量,用户获取员工号码为102201的员工的电话号码。
执行完上面语句后可以得到变量phone的值,如上面截图中结果。
【思考与练习】
定义一个变量,用于描述YGGL数据库的Salary表中000001号员工的实际收入,然后查询该变量。
首先declare定义变量RealInCome,然后利用SELECT语句查询EmployeeID=000001的员工的实际收入赋值给RealInCome,最后利用SELECT查询RealInCome变量的值。
(3)运算符的使用。
①使用算数运算符“-”,查询员工的实际收入。 ② 使用比较运算符“>”,查询Employees表中工作时间大于5年的员工信息。
T-sql 编程
一、目的和要求
1, 进一步巩固前面4章所学内容
2, 掌握用户自定义类型的使用
3, 掌握变量的分类及其使用
4, 掌握各种运算符的使用
5, 掌握各种控制语句的使用
6, 掌握系统函数和用户自定义函数的使用
二、准备
1, 了解t-ql支持的各种基本数据类型
2, 了解自定义数据类型使用的一般步骤
3, 了解t-sql各种运算符,控制语句的功能和使用方法
4, 了解系统函数的调用方法
5, 了解用户自定义函数使用的一般步骤
三、内容
1、系统函数的使用:
1)使用rand()函数产生一个0-1的随机数,再产生一个10-99之间的随机数。
select RAND()
select RAND()*89-10
2)使用Square() 函数求7的平方。
select SQUARE(7)
3)使用sqrt()函数求9的平方根。
select sqrt(9)
4)使用ascii函数返回“china”字符串最左边的字符的ascii值。
select ascii(LEFT('china',1))
5)使用left()函数返回“china”左边开始的3个字符。
select LEFT('china',3)
6)使用right( )返回‘abcdefg’右边的4个字符
select right('abcdefg',4)
7)使用substring() 返回 ‘abcdefg’从第2个字符开始的连续5个字符
select substring('abcdefg',2,5)
8)请用ltrim,rtrim去除字符串(' ad dad dadfad ’)左右两边的空格
select ltrim(rtrim(' ad dad dadfad '))
9)定义两个变量,一个赋值为1,一个为2,请分别用select和print 显示出他们相加的结果。并说明他们有何区别
广东海洋大学学生实验报告书
实验名称 实验8:批量 课程名称 数据库原理及应用 成绩
学院(系) 信息学院 专业 软件工程 班级 学生姓名 学号 实验地点 实验日期
实验目的:
掌握T-SQL变量的定义和使用
掌握T-SQL控制流语句
实验内容
针对GlobalToyz和Recruitement数据库,按要求完成下列题目。
1. 定义一个变量,将其声明为char 类型,并使用两种语句为其赋值。并使用print和select 语句打印变量的值。
2. 编写一个批量,计算1到100的偶数和。(使用while)
3. 编写一个批量,针对Toys表,如果价格大于25元的玩具数量在10种之上,则打印下列消息‘Maybe
the price of toys on globaltoyz is not so cheap ’,否则,打印消息‘You can search something
on globaltoyz’。(使用IF„ELSE语句)
4. (使用简单的CASE语句)对于Shopper表,查询代码为‘000020’的详细情况,根据该用户所使用的信用卡信息打印不同的信息,如果其使用的是 ‘Master Card’,打印消息‘Great priority’,如果使用的是 ‘Visa Card’,打印消息 ‘Potential’,否则答应消息 ‘Normal’。
5. (使用搜索的CASE语句)对于Position表,其中可以看到每个职位的人员配备情况,根据Position表中的每个职位的人员缺少数,我们分别打印不同的消息,如果缺少数在20人以上,打印‘奇缺’,在5~20之间,打印‘适中’,如果在5人以下,则打印‘或缺’。提示:人员缺少数应该根据预算人数(iBudgetedStrength)和当前人数(iCurrentStrength)之差求出来。
6. 针对外部候选人表,计算所有人的平均成绩,如果平均分大于80,则将所有人的成绩降低5%,否则将所有人的成绩降低3%。