SQL实验五TSQL编程.docx

上传人:b****7 文档编号:10131967 上传时间:2023-02-08 格式:DOCX 页数:14 大小:607.64KB
下载 相关 举报
SQL实验五TSQL编程.docx_第1页
第1页 / 共14页
SQL实验五TSQL编程.docx_第2页
第2页 / 共14页
SQL实验五TSQL编程.docx_第3页
第3页 / 共14页
SQL实验五TSQL编程.docx_第4页
第4页 / 共14页
SQL实验五TSQL编程.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

SQL实验五TSQL编程.docx

《SQL实验五TSQL编程.docx》由会员分享,可在线阅读,更多相关《SQL实验五TSQL编程.docx(14页珍藏版)》请在冰豆网上搜索。

SQL实验五TSQL编程.docx

SQL实验五TSQL编程

 

《数据库原理及应用》实验报告

题目:

T-SQL编程

学生姓名:

孙跃

学院:

理学院

系别:

数学系

专业:

信息与计算科学

班级:

信计12-2

任课教师:

侯睿

 

二〇一五年四月

一、实验目的

(1)进一步巩固第2章~第4章所学内容;

(2)掌握用户自定义类型的使用;

(3)掌握变量的分类及其使用;

(4)掌握各种运算符的使用;

(5)掌握各种控制语句的使用;

(6)掌握系统函数及用户自定义函数的使用。

二、实验内容

1.自定义数据类型的使用。

(1)对于实验2给出的数据库表结构,再自定义一数据类型ID_type,用于描述员工编号。

(2)在YGGL数据库中创建Employees3表,表结构与Employees类似,只是EmployeeID列使用的数据类型为用户自定义类型ID_type。

2.变量的使用。

(1)对于实验2给出的数据库表结构,创建一个名为female的用户变量,并在SELECT语句中使用该局部变量查找表中所有女员工的编号、姓名。

(2)定义一个变量,用于获取号码为102201的员工的电话号码。

3.运算符的使用。

(1)使用算数运算符“-”查询员工的实际收入。

(2)使用比较运算符“>”查询Employees表中工作时间大于5年的员工信息。

4.流程控制语句。

(1)判断Employees表中是否存在编号为11006的员工,如果存在则显示该员工信息,不存在则显示查无此人。

(2)假设变量X的初始值为0,每次加1,直至X变为5。

(3)使用CASE语句对Employees表按部门进行分类。

5.自定义函数的使用。

(1)定义一个函数实现如下功能:

对于一个给定的DepartmentID值,查询该值在Departments表中是否存在,若存在则返回0,否则返回-1。

(2)写一段T-SQL程序调用上述函数。

6.系统内置函数的使用。

(1)求一个数的绝对值。

(2)求财务部雇员的总人数。

(3)使用ASCII函数返回字符表达式最左端字符的ASCII值。

(4)获得当前的日期和时间。

三、实验程序

自定义数据类型的使用

1.对于实验2给出的数据库表结构,再自定义一数据类型ID_type,用于描述员工编号。

USEYGGL

EXECsp_addtype'ID_type','char(6)','notnull'

GO

2.在YGGL数据库中创建Employees3表,表结构与Employees类似,只是EmployeeID列使用的数据类型为用户自定义类型ID_type。

USEYGGL

GO

IFEXISTS(SELECTnameFROMsysobjectsWHEREname='Employees3')

DROPtableemployees3

CREATETABLEEmployees3

EmployeeIDID_type,

Namechar(10)NOTNULL,

Educationchar(4)NOTNULL,

BirthdaydatetimeNOTNULL,

SexbitNOTNULLDEFAULT1,

WorkYeartinyintNULL,

Addressvarchar(40)NULL,

PhoneNumberchar(12)NULL,

DepartmentIDchar(3)NOTNULL,

PRIMARYKEY(EmployeeID)

GO

变量的使用

1.对于实验2给出的数据库表结构,创建一个名为female的用户变量,并在SELECT语句中使用该局部变量查找表中所有女员工的编号、姓名。

USEYGGL

DECLARE@femalebit

SET@female=0

SELECTEmployeeID,Name

FROMEmployees

WHERESex=@Female

2.定义一个变量,用于获取号码为102201的员工的电话号码。

DECLARE@phonechar(12)

SET@phone=(SELECTPhoneNumber

FROMEmployees

WHEREEmployeeID='102201')

SELECT@phone

运算符的使用

1.使用算数运算符“-”查询员工的实际收入。

SELECTInCome-OutCome

FROMSalary

2.使用比较运算符“>”查询Employees表中工作时间大于5年的员工信息。

SELECT*

FROMEmployees

WHEREWorkYear>5

3.判断Employees表中是否存在编号为11006的员工,如果存在则显示该员工信息,不存在则显示“查无此人”。

IFEXISTS(SELECTNameFROMEmployeesWHEREEmployeeID='111006')

SELECT*FROMEmployeesWHEREEmployeeID='111006'

ELSE

SELECT'查无此人'

4.假设变量X的初始值为0,每次加1,直至X变为5。

DECLARE@XINT

SET@X=1

WHILE@X<5

BEGIN

SET@X=@X+1

PRINT'X='+CONVERT(char

(1),@X)

END

GO

5.使用CASE语句对Employees表按部门进行分类。

USEYGGL

GO

SELECTEmployeeID,Name,Address,DepartmentID=

CASEDepartmentID

WHEN1THEN'财务部'

WHEN2THEN'人力资源部'

WHEN3THEN'经理办公室'

WHEN4THEN'研发部'

WHEN5THEN'市场部'

END

FROMEmployees

自定义函数的使用

1.定义一个函数实现如下功能:

对于一个给定的DepartmentID值,查询该值在Departments表中是否存在,若存在则返回0,否则返回-1。

CREATEFUNCTIONCHECK_ID(@departmentidchar(3))

RETURNSintegerAS

BEGIN

DECLARE@numint

IFEXISTS(SELECTdepartmentIDFROMdepartments

WHERE@departmentid=departmentID)

SELECT@num=0

ELSE

SELECT@num=-1

RETURN@num

END

GO

2.写一段T-SQL程序调用上述函数。

USEYGGL

GO

DECLARE@numint

SELECT@num=dbo.CHECK_ID('2')

IF@num=0

INSERTEmployees

VALUES('990210','张英','本科','1982-03-24',0,4,'南京镇江路号','8497534','2')

GO

系统内置函数的使用

1.求一个数的绝对值。

SELECTABS(-123)

2.求财务部雇员的总人数。

USEYGGL

SELECTCOUNT(EmployeeID)AS财务部人数

FROMEmployees

WHEREDepartmentID=

SELECTDepartmentID

FROMDepartments

WHEREDepartmentName='财务部'

3.使用ASCII函数返回字符表达式最左端字符的ASCII值。

SELECTASCII('abc')

4.

(1)获得当前的日期和时间。

SELECTgetdate()

(2)查询YGGL数据库中员工号为000001的员工出生的年份

SELECTYEAR(Birthday)

FROMEmployees

WHEREEmployeeID='000001'

四、实验结果

1.对于实验2给出的数据库表结构,再自定义一数据类型ID_type,用于描述员工编号。

2.在YGGL数据库中创建Employees3表,表结构与Employees类似,只是EmployeeID列使用的数据类型为用户自定义类型ID_type。

3.对于实验2给出的数据库表结构,创建一个名为female的用户变量,并在SELECT语句中使用该局部变量查找表中所有女员工的编号、姓名。

4.定义一个变量,用于获取号码为102201的员工的电话号码。

5.使用算数运算符“-”查询员工的实际收入。

6.使用比较运算符“>”查询Employees表中工作时间大于5年的员工信息。

7.判断Employees表中是否存在编号为11006的员工,如果存在则显示该员工信息,不存在则显示“查无此人”。

8.假设变量X的初始值为0,每次加1,直至X变为5。

9.使用CASE语句对Employees表按部门进行分类。

10.定义一个函数实现如下功能:

对于一个给定的DepartmentID值,查询该值在Departments表中是否存在,若存在则返回0,否则返回-1。

11.写一段T-SQL程序调用上述函数。

12.求一个数的绝对值。

13.求财务部雇员的总人数。

14.使用ASCII函数返回字符表达式最左端字符的ASCII值。

15.获得当前的日期和时间。

16.查询YGGL数据库中员工号为000001的员工出生的年份。

五、实验总结

通过本次实验,我对第2章~第4章所学内容进一步巩固和加深,对课堂上没有理解的问题重新进行了学习,掌握了用户自定义类型、各种运算符、各种控制语句、系统函数及用户自定义函数的使用,也掌握变量的分类及其使用。

由于编程量较大,也锻炼了我编程操作要细致谨慎,由于前一阶段的基础知识没有完全掌握,导致本次实验中遇到不少问题,因此在今后的学习中我要吸取经验,认真学习。

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

当前位置:首页 > 法律文书 > 起诉状

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

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