SQL Sever 实用教程(第三版)实验五答案.doc_第1页
SQL Sever 实用教程(第三版)实验五答案.doc_第2页
SQL Sever 实用教程(第三版)实验五答案.doc_第3页
SQL Sever 实用教程(第三版)实验五答案.doc_第4页
SQL Sever 实用教程(第三版)实验五答案.doc_第5页
免费预览已结束,剩余2页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

200901501116 刘玉佩T-SQL编程(1)自定义数据类型的使用在对象资源管理器中展开“数据库-PXSCJ-可编程性”,右击“类型”,选择“新建”选项,在新建数据类型“窗口中使用界面创建一个用户自定义数据类型(2)变量的使用定义一个变量,用于描述YGGL数据库的Salary表中000001号员工的实际收入,然后查询该变量DECLARE realincome floatSET realincome=(SELECT InCome-OutCome FROM Salary WHERE EmployeeID=000001)SELECT realincome(3)运算符的使用熟悉各种运算符的功能和用法,如LIKE、BETWEEN等查询收入做在2000-3000之间的员工的号码和姓名SELECT Employees.EmployeeID,NameFROM Employees,SalaryWHERE Employees.EmployeeID=Salary.EmployeeIDAND InCome BETWEEN 2000 AND 3000查询电话号码以8开头和结尾的员工的号码和姓名SELECT EmployeeID,NameFROM EmployeesWHERE PhoneNumber LIKE 8%8(4)流程控制语句判断姓名为“王林”的一个的实际收入是否高于3000元,如果是,则显示其收入,否则显示“收入不高于3000”IF(SELECT InCome-OutCome FROM Employees,SalaryWHERE Employees.EmployeeID=Salary.EmployeeID AND Name=王林)3000SELECT InCome-OutCome FROM Employees,SalaryWHERE Employees.EmployeeID=Salary.EmployeeID AND Name=王林ELSESELECT收入不高于使用循环输出一个用“*”组成的三角形DECLARE X INT,M INT,N INT,Y VARCHAR(30),Z VARCHAR(30)SET X=1WHILE X=5BEGIN SET M=1 SET N=1 SET Y= SET Z= WHILE M=5-X BEGIN SET Y=Y+ SET M=M+1 END WHILE N=2*X-1 BEGIN SET Z=Z+* SET N=N+1 END PRINT Y+Z SET X=X+1END使用IF语句对Employees表按部门进行分类CREATE FUNCTION CHECK_IF(departmentid char(3)RETURNS CHAR(10)ASBEGIN DECLARE num CHAR(10)IF (SELECT DepartmentID FROM Departments WHERE departmentid=DepartmentID)=1SELECT num=财务部IF (SELECT DepartmentID FROM Departments WHERE departmentid=DepartmentID)=2SELECT num=人力资源部IF (SELECT DepartmentID FROM Departments WHERE departmentid=DepartmentID)=3SELECT num=经理部IF (SELECT DepartmentID FROM Departments WHERE departmentid=DepartmentID)=4SELECT num=研发部IF (SELECT DepartmentID FROM Departments WHERE departmentid=DepartmentID)=5SELECT num=市场部RETURN numENDGOSELECT EmployeeID,Name,Address,dbo.CHECK_IF(DepartmentID)AS DepartmentIDFROM Employees(5)自定义函数的使用自定义一个函数,计算一个数的阶乘CREATE FUNCTION JC(num int)RETURNS int ASBEGINDECLARE m int,n intSET m=1SET n=1WHILE n=ALL(SELECT InCome FROM Employees,Salary,Departments WHERE Employees.EmployeeID=Salary.EmployeeID AND Employees.DepartmentID=Departments.DepartmentID AND DepartmentName=财务部)AND Employees.EmployeeID=Salary.EmployeeID AND Employees.DepartmentID=Departments.DepartmentIDAND DepartmentName=财务部查询员工收入的平均数SELECT AVG(InCome)FROM SalaryWHERE EmployeeID IN(SELECT EmployeeID FROM Employees)聚合函数如何与GROUP BY函数一起使用?SELECT子句中的列表中只能包含GROUP BY中指出的列或聚合函数中指定的列按照员工的部门分组,排列出各部门的人数SELECT DepartmentID,count(EmployeeID)FROM EmployeesGROUP BY DepartmentID使用CHAR()函数将ASCII码代表的字符组成字符串SELECT CHAR(115)+CHAR(97)+CHAR(110)使用LEFT()函数返回从字符串

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论