金陵科技学院 实验报告
六、实验体会和收获
2
5实验项目名称: T-SQL程序设计 实验学时: 4 同组学生姓名: 实验地点: B513 实验日期: 实验成绩: 批改教师: 批改时间:
一、实验目的和要求
1、掌握T-SQL中运算符和表达式的使用;
2、通过对Select的使用,掌握Select语句的结构及其应用; 3、掌握T-SQL中几个常用流程控制语句的使用; 4、掌握系统内置函数的概念及其应用;
5、通过定义和使用用户自定义函数,掌握自定义函数的概念及其应用。
二、实验设备、环境
设备:奔腾Ⅳ或奔腾Ⅳ以上计算机;
环境:WINDOWS 2000 SERVER或WINDOWS 2003 SERVER、SQL Server2005中文版。
三、实验步骤
1、根据题目要求熟悉SQL Server2005的各种管理工具; 2、分析题意,重点分析题目要求并给出解决方法;
3、按题目要求完成实际操作任务,并将相关文档资料保存在以自己学号命名的文件夹中; 4、提交完成的实验结果。
四、实验内容
(一) SQL查询(*使用SQL Server样例数据库pubs完成) 1、简单查询(P70)
(1)查询所有作者的姓名和作者号信息,并在每个作者的作者号前面显示字符串“身份证号:”表明显示信息是身份证信息;(authors表)
(2)改变显示列名。显示所有作者的姓名信息和作者号信息,要求用“名”和“姓”来区别fname和lname,“作者编号”来区分作者号;(authors表)
(3)查询所有书在价格提高10%后的价格和书名信息;(titles表) (4)查询所有书的书号和税后价格。(titles表,royalty列表示税率);
(5)查询所有作者的姓和“名的第一个字符”以及作者号;(authors表,SUBSTRING函数) (6)查询邮政编码大于90000的作者姓名和电话信息;(authors表)
(7)查询出版日期在1/1/1991到12/31/1991之间的书名(书名限制为38个字符)和出版日期;(titles表,SUBSTRING函数)
(8)查询书的类型是mod_cook或trad_cook的书名和它的类型;(titles表)
金陵科技学院 实验报告
(9)查询店名中包含Book的店的信息;(stores表);
(10)查询书名以T开头或者出版号为0877,且价格大于16美元的书的信息;(titles表) (11)查询所有作者的所在城市和州名,要求没有重复信息;(authors表) (12)按照类型的升序和价格的降序显示书的信息;(titles表) 2、生成汇总数据(P87)
(1)计算多少种书已被定价;(titles表)
(2)计算每本书的书号及它的售书总量;(sales表) (3)求销售量大于30的书号及销售数量;(sales表)
(4)显示在1994年1月1日到1994年10月31日间,每本书的销售总额;(sales表,titles表) 3、连接查询(P81)
(1)求每本杂志上刊登的文章;(titles, publishers表) (2)求某书店销售某书的数量;(titles, stores, sales表) (3)查询所有合著的书及其作者。 (4)显示所有已销售的书名。 4、子查询(P91)
(1)查询有销售记录的所有书信息,包括书的编号、书名、类型和价格; (2)求已销售的书的信息;
(二) 函数(CREATE FUNCTION 语句)(使用实验2创建的数据库MyDB)
1、自定义一个名为Sage_func函数,按出生年月计算年龄。然后从Student表中检索出含有年龄的学生信息。
局部变量的作用范围仅限制在程序内部。定义形式:DECLARE @varname datatype [, ??] 全局变量是SQL Server系统内部使用的变量,通常存储一些SQL Server的配置设定值和统计数据。全局变量不能由应用程序定义,在引用全局变量时必须以“@@”开头。分两类:
一类是与SQL Server连接有关的全局变量,如 @@rowcount表示受最近一条语句影响的行数; 另一类是关于系统内部信息的全局变量,如 @@version表示SQL Server的版本号。
2、定义一个名为Grade_func的自定义函数,将成绩从百分制转化为五级记分制。将该用户定义函数用在查询每个学生的成绩中,给出五级记分制的成绩。
(三) 流程控制(IF...ELSE语句、WHILE...BREAK 语句)(使用实验2创建的数据库MyDB) 1、Student表中若存在学号为“19920101”的学生,则显示已存在的信息,否则插入该学生的记录。然后从Student表中删除学号为“19920101”的学生记录,重新执行该程序,观察与上次有何不同。 2、使用While语句求1到100之间的累加和,输出结果。
五、问题解答及实验结果
1
金陵科技学院 实验报告
2
金陵科技学院 实验报告
3