T-SQL高级应用

合集下载

《SQL Server数据库》课程实训教学大纲

《SQL Server数据库》课程实训教学大纲

《SQL Server数据库》课程实训教学大纲课程名称:SQL Server数据库应用基础与实现实训学时:42学时适用专业:计算机应用技术课程类别:专业课编写大纲教研室/实训室:计算机信息管理一、实训目的与要求1.实训目的:掌握SQL数据库的基本操作,会创建数据库和数据库表及表的相关操作,能进一步理解视图、索引和函数的运用,掌握T-SQL高级语言的运用,在掌握基本知识的基础上能够运用SQL数据库开发出具有一定实用效率的数据库系统,以提高自身的动手能力和基本技能。

2.要求:独立认真完成每次实训内容。

二、实训方式1. 由指导教师讲清实训的基本原理、要求,实训目的及注意事项。

2. 学生阅读实训指导书。

3. 教学实践除巩固课程理论外,还要求学生具备一定的分析和调试的能力。

4. 要求学生填写实训报告,记录实训经过、实训结果。

实训报告的主要内容包括:(1)实训目的和内容;(2)实训的简单过程;(3)实训的结果。

三、考核方法1. 实训后,学生将按要求写成实训报告文档,符合实训教学的要求并得到指导教师的认可。

2. 指导教师对实训报告进行批改、评分。

3. 采用操作考试考核方式。

4. 由于该门实训课程依附于理论课,课程总成绩应为实训与理论的综合,其中实训课程成绩计入总成绩,占30%,理论课成绩占70%。

四、实训指导书及主要参考资料实训指导书:采用自编的实训指导书主要参考资料:1.《SQL Server 2005应用开发教程》何文华主编电子工业出版社2.《数据库原理技应用技术教程》佟勇臣主编科学出版社3.《SQL Server 实用教程》郑阿奇主编电子工业出版社4.《网络数据库技术与应用》王姝主编科学出版社5.《SQL Server2005数据库应用技术》虞益诚主编中国铁道出版社五、实训项目及学时分配实训项目一览表六、实训项目内容及其要求实训一、SQL2005软件基本操作(2学时)【实训目的】:1.掌握SQL2005软件的安装注意事项,软件基本操作2.掌握使用SQL Server管理平台来创建数据库的操作3.掌握使用T-SQL语言创建数据库的基本语法4.掌握使用T-SQL语言删除数据库的语法【实训内容】:1.熟悉SQL2005的工作界面及基本操作。

T-SQL语言

T-SQL语言

T-SQL编程与应用6.1T-SQL语言基础6.1.1T-SQL语言的编程功能1.基本功能支持ANSI SQL-92标准:DDL数据定义,DML数据操纵,DCL数据控制,DD数据字典2.扩展功能加入程序流程控制结构加入局部变量,系统变量等6.1.2标识符1.标识符分类常规标识符Regular identifer(严格遵守标识符格式规则)界定标识符Delimited identifer(引号’或方括号[])2.标识符格式规则SQL server 7.0以前的版本,标识符长度限制在30个字符以内。

SQL server2000的标识符:1~128个字符;临时表名1~116个字符。

标识符的第一个字符必须是:大、小写字母、下划线、@、#。

其中,@和#在TSQL中有专门的含义。

接下来的字符必须是符合Unicode2.0(统一码)标准的字母,或者是十进制数字,或是特殊字符@, #, _, $。

标识符不能与任何SQL Server保留字匹配。

标识符不能包含空格,或别的特殊字符。

*不符合规则的标识符必须加以界定(双引号””或方括号[])注意:数据库名、表名必须符合标识符规范。

3.对象命名规则所有数据库对象的引用由下面四部分构成:server_name.[database_name].[schema_name].object_name| database_name.[schema_name].object_name| schema_name.object_name| object_name说明:server_name指定链接的服务器名称或远程服务器名称。

database_name如果对象驻留在 SQL Server 的本地实例中,则指定 SQL Server 数据库的名称。

如果对象在链接服务器中,则 database_name 将指定 OLE DB 目录。

schema_name如果对象在 SQL Server 数据库中,则指定包含对象的架构的名称。

SQL Server 全文索引查询

SQL Server 全文索引查询

SQL Server 全文索引查询T-SQL学习笔记之一(Full-text index)2009-12-11 11:29引言这段时间为了提高海量字符串数据的查询效率,我对字段添加了全文索引。

首先全文索引相对于传统的索引是有区别的,这是因为传统的索引主要是以首字母开始建立的索引,处理like 'keword%'这样的查询会很高效,但是如果查询时不限定首字母,而只是包含某个词,比如like '%keyword%'这样的查询,实际操作中无法使用传统索引加速查询效率,而只能一项一项比较了。

而全文索引正是提供了“包含”式查询机制,查询一个长字符串中是否包含给定关键词的功能,这无论是在搜索引擎或是网站的搜索平台都是很有用处的。

首先,推荐一本学习SQL Server全文索引的书籍,这本书详细的讲解了全文索引的方方面面,甚至还阐述许多设计搜索引擎的思想和方法。

书名是《Pro Full-Text Search in SQL Server 2008》,是Apress出版的。

这本书的内容是按章划分的,同时由浅入深,从一般的技巧到高级的技巧。

我这里就简单分享一下基本的全文查询方法,更多高级的技巧应该在实际应用中按需进行学习。

要实现全文查询,首先安装的SQL Server实例要支持全文查询服务,可以查看windows服务是否有全文索引服务。

如果没有,则要重新安装SQL Server并选择添加功能,将Full-Text功能选中,然后再安装或升级。

有了全文查询服务,还不能直接进行查询,需要先在想要建立全文索引的字段上建立一个全文索引。

方法是打开企业管理器,选择字段所在表格,然后点击右键,选择"Full-text inde”,然后选择"define Full-text index"就能进入设置面板。

需要注意的是,全文索引只能建立在Unique(唯一)字段上,并且每个表最多只能有一个全文索引字段,因此要慎重。

SQL操作语句

SQL操作语句

SQL操作语句SQL语句与Mysql的语句⼤体上⽐较相似。

以下是sql server的⼀套练习题,是很好的数据库操作语句学习资料,学校的学习资料,在此整理了以下。

数据库exam:这是⼀个模拟电⼦商务,⽹上直销的数据,主要销售计算机配件。

该数据库包含了订单数据、经销商基本数据、产品基本数据以及供应商基本数据等。

该数据库共包含6个表,表名分别为:orders、distributors、suppliers、city、items和products。

各个表的内容与格式如下:表1 ⽹上直销订单表格,表名为:orders列名描述数据类型OrderNum订单号码IntOrderDate订购⽇期DatatimeDistriNum经销商号码IntPaidDate付款⽇期Datatime表2 经销商表格,表名为:distributors列名描述数据类型DistriNum经销商号码IntBossName经理名称CharCompany公司名称CharCityCode所属市区代码CharAddress公司地址CharPhone公司电话号码Char表3 供应商表格,表名为:suppliers列名描述数据类型SuppCode供应商代码CharSuppName供应商名称Char表4 市区表格,表名为:city列名描述数据类型CityCode市区代码CharCityName市区名称Char表5 订单项⽬表格,表名:items列名描述数据类型Item订单项⽬号码IntOrderNum订单号码IntProdNum产品号码IntSuppCode供应商代码CharQuantity单项定购数量IntTotalPrice单项总价Money表6 产品表格,表名:products列名描述数据类型ProdNum产品号码IntSuppCode供应商CharDescriptions产品名称CharUnitPrice产品单价Money⼀、数据表的简单操作⽤SQL语句选取表中所有的列:1、查询exam数据库中city表中所有的列的内容select*from city;2、查询exam数据库中orders表OrderDate列的内容select OrderDate from orders;选取惟⼀的数值:消除重复关键字:distinct (放在select后⾯)1、查询exam数据库中orders表中的订购⽇期OrderDate,并且相同的订购⽇期只显⽰⼀次(distinct)select distinct OrderDate from orders;2、对记录进⾏操作——选取特定的记录:查询exam数据库中供应商代码为HHT的供应商的实际名称select SuppName from city where SuppCode= "HHT";3、对记录进⾏操作——排除特定的记录:查询exam数据库中供应⼚代码不为HHT的所有供应商的实际名称select SuppName from city where SuppCode!= "HHT";3、对数据进⾏操作——选取介于某⼀范围的数据:查询exam数据库的products表中所有单价不超过20元的产品的名称及其对应的价格select Descriptions,UnitPrice from products where UnitPrice <=20;4、对数据进⾏操作——选取属于某⼀⼦集合的数据:in:在...⾥查询exam数据库中经销商号码为1006、1009、1013、1014、1017的经理名称以及其所在的公司名称select DistriNum,BossName,Company from distributors where DistriNum in (1006,1009,1013,1014,1017);5、对字符串进⾏操作——选取⼦字符串:查询exam数据库中所有经销商的电话区号select substring(Phone,1,3) from distritubors; //第⼀位和从这⼀位开始⼏位查询exam数据库中所有经销商的姓select substring(BossName,1,1) from distributors;6、对字符串进⾏操作——搜索⼦字符串:‘%’:表⽰N个任意字符查询exam数据库中所有经理姓“王”的公司的名称、电话以及公司地址select BossName,Company,Phone,Address from distributors where BossName like'王%';⼆、⼀般数据查询与处理1、同时执⾏多个SQL语句:实现在⼀次查询中同时查询exam数据库中orders表和distributors表所有列的内容select*from orders;goselect*from distributors;go2、⽤order by⼦句对数据进⾏排序:查询exam数据库products表格中所有的记录,查询结果根据单价由⼩到⼤的顺序(降序)排序select*from products order by UnitPrice desc;3、使⽤算术运算符:查询exam数据库products表中的所有记录,并且把每个产品单价显⽰成调⾼10%后的价格(只显⽰,数据库不变)select ProNum,SuppCode,description,UnitPrice * 1.1from products;3、查询exam数据库products表中的所有记录,并且把每个产品单价显⽰成8折后的价格select ProNum,SuppCode,description,UnitPrice *0.8from products;5、搜索单⼀长度的任意字符串:‘_’:表⽰⼀个任意字符查询exam数据库suppliers表中供应商代码的第1、3位分别为H和T的所有供应商的记录select*from suppliers where SuppCode like "H_T";6、使⽤常⽤的字符串函数:查询exam数据库distribuotrs表中经销商号码为1001的地址字符串的长度select len(Address) from distributors where DistriNum = "1001";7、查询字符串的长度select len(‘中华⼈民共和国’);8、将字符串‘I LOVE SQL SERVER‘的所有字母转换成⼩写字母select LOWER('I LOVE SQL SERVER');9、将字符串‘abcdefg’中的⼩写字母转换成⼤写字母select UPPER('abcdefg');10、将字符串‘ abcdefg’前的空格去掉select ltrim(' abcdefg);11、将字符串‘uvwxyz ’后的空格去掉select rtrim('uvwxyz ');12、将字符串‘我喜欢数据库’中的字符由左⾄右反转排列select REVERSE('我喜欢数据库');13、求出字符A的ASCII码select ASCII('A');14、判断数字5的正负号,如果正返回1,负返回-1select SIGN(5);15、使⽤常⽤的数学函数:计算出以下三个数的绝对值:-2.5,0.0,7.4select ABS(-2.5),ABS(0.0),ABS(7.4);16、返回分别⼤于或等于以下数字的最⼩整数:5.5,-7.2,0.0select floor(5.5),floor(-7.2),floor(0.0);17、返回π(PI)的值select PI();18、返回630.67的近似值,并将该数分别四舍五⼊到1、-2、3、0长度的⼩数select ROUND(630.67,1),ROUND(630.67,-2),ROUND(630.67,3),ROUND(630.67,0);19、返回以下3个数的平⽅值:4、-6,6.6select SQUARE(4),SQUARE(-6),SQUARE(6.6);20、返回以下3个数的算数平⽅根:4,0,50select SQRT(4),SQRT(0),SQRT(50);21、计算Cos(3.1415926)的值 sin(3.14159260) ctg(3.14) tg(3.1415926)select COS(3.1415926),SIN(3.14159260),COT(3.14),TAN(3.1415926);22、计算2的⾃然对数、指数值select LOG(2),EXP(2);23、计算1000的以10为底的对数select LOG10(1000);24、计算2的10次⽅select POWER(2,10);三、常⽤函数常⽤的集总函数的应⽤:1、查询exam数据库products表中共销售多少种产品select COUNT(*) from products;2、查询exam数据库items表中代码为HSC的供应商已订货的总⾦额select SuppCode,SUM(TotalPrice) from items where SuppCode ='HSC';3、查询exam数据库products表中所有供应商所供应的货品的平均单价select SuppCode,AVG(UnitPrice) from products group by SuppCode;4、查询exam数据库products表中每⼀个供应商产品的最⾼单价/最低单价select SuppCode,MAX(UnitPrice),MIN(UnitPrice) from products group by SuppCode;6、时间函数:(1)获取当前时间select getdate();(2)、在1991-07-10 2:30:00.000时间上增加21天select dateadd(d,21,’ 1991-07-102:30:00.000’);(3)、返回1991-07-10 2:30:00.000五天前的时间select DATEADD(D,-5,'1991-07-10 2:30:00.000');(4)、返回两个⽇期间隔的时间select DATEDIFF(D,'02/20/1999','02/28/1999');(5)、以字符串形式返回当天⼏年select DATENAME(Y,GETDATE());(6)、以整数形式返回当天⼏号select DATEPART(D,GETDATE());(7)、查询当前UTC时间(协调时间)select GETUTCDATE();四、⾼级数据查询与处理1、在⼀个select语句中使⽤多个表格:查询exam数据库中每⼀个经销商所有的订单数据,列出经销商号码、公司名称、电话号码以及订货⽇期select distributors.DistriNum,Company,Phone,OrderDate from distributors,orders where orders.DistriNum = distributors.DistriNum 2、在select语句中使⽤⼦查询:查询exam数据库中与经理名称为‘王为’的经销商同在⼀个市区的所有经销商的数据内容select*from distributors where CityCode=(select CityCode from distributors where BossName='王为');3、⽤union运算符实现从不同的表格抽取相同格式的数据:查询exam数据库中单价不⼤于25元或者是已订货项⽬中数量⼩于2的产品数据select ProdNum,SuppCode,Description,UnitPrice from products where UnitPrice <=25unionselect ProdNum,SuppCode,Quantity from items where Quantity <24、添加记录:在orders表中添加⼀笔记录,OrderNum为119,OrderDate为1905-06-8,DistriNum为1022,PaidDate为1905-06-9insert into orders(OrderNum,OrderDate,DistriNum,PaidDate) values(119,1905-06-8,1022,1905-06-9);5、删除记录:删除orders表中OrderNum为119的记录delete from orders where OrderNum =1196、更新记录:将orders表中订单号为118的订单的订购⽇期改为2003-07-11update orders set OrderDate = "2003-07-11" where OrderNum =1187、实现查询exam数据库中每⼀个经销商的订单号码(orders表中)与经销商公司所属市区的代码(ditributoirs表中)select orders.DistriNum,OrderNum,distributors.CityCode from orders,distributors where orders.DistriNum = distributors.DistriNum8、实现查询exam数据库中公司在宣武区的所有经销商的数据内容select*from distributors where CityCode= (select CityCode from city where CityName='宣武区')9、实现查询exam数据库中订单号码为100对应的经销商的情况select*from distributors where DistriNum= (select DistriNum from orders where OderNum =100)五、设计数据库⽤T-SQL语句实现默认值与列的结合:默认值创建:create default 关键字 as XX绑定默认值:sp_bindefault ‘默认值名’,’表名.[列名]’重命名默认值:exec sp_rename ‘旧名称’,’新名称’1.在exam数据库中新建名为moren的默认值,值为100,并把该默认值与orders表的OrderNum列结合(sp_bindefault)create default moren as100gosp_bindefault 'moren','orders.[OrderNum]'gosp_bindefault 将新默认值绑定到列(尽管最好使⽤ DEFAULT 约束)或者绑定到别名数据类型。

ch5 数据库系统概念(第6版)第五章高级SQL

ch5 数据库系统概念(第6版)第五章高级SQL
函数/过程可以用SQL语言书写,也可以使用其他外部 程序语言. 函数对于特殊新的数据类型,例如图片和几何对象特 别有用. 例如: 用于检查多边形是否重叠,或者比较图片相 似性的函数. 一些数据库系统支持表值函数, 返回一个关系作为结果. 循环, if-then-else, 赋值
SQL:1999 还支持大量的命令式结构,例如
存储过程
存储过程的优点:
使用存储过程可以减少网络流量 增强代码的重用性和共享性 使用存储过程可以加快系统运行速度 使用存储过程保证安全性
存储过程的创建
写SQL语句 测试SQL语句 如得到所需结果,则创建结果 执行过程
触发器
触发器
触发器 是一条语句,当对数据库做修改时,它自动被系 统执行. 要设置触发器机制,必须满足: 指明什么条件下触发器被执行. 指明触发器执行的动作是什么. SQL-92 标准并不包括触发器,但是许多DB系统支持触发 器。 触发器于SQL:1999被引进到SQL标准 , 但是更早就通过非 标准语法被大部分数据库所支持.
SQL允许用if-then-else语句,for和while循环,等等 ,来定义过程.
存储过程
可以在数据库中存储过程 然后通过call语句来执行 允许外部应用程序对数据库进行操作,而无需了解内 部细节
面向对象方面将在22章介绍 (基于对象的数据库)*
函数和过程
SQL:1999 支持函数和过程
过程结构*
注意: 大部分数据库系统对下列标准语法实现了自 己的变种 复合语句: begin … end, While 和 repeat 语句:
end while
repeat
set n = n + 1

数据库教学资料第6章t-sql语言基础PPT课件

数据库教学资料第6章t-sql语言基础PPT课件
详细描述
T-SQL是结构化查询语言(SQL)的一个扩展,专门针对Microsoft SQL Server数据库系统。它提供了许多额外 的功能和命令,使得对数据库的操作更加高效和强大。T-SQL具有丰富的语言特性,包括条件语句、循环语句、 存储过程、触发器等,可以用来执行复杂的查询、数据处理和数据库管理任务。
T-SQL语言还支持存储过程、触发 器、视图等高级功能,可以大大简 化复杂的业务逻辑和数据处理流程, 降低系统开发和维护成本。
T-SQL的未来发展前景
1
随着云计算、大数据等技术的快速发展,T-SQL 语言将继续发挥重要作用,支持更多的数据处理 场景和应用领域。
2
未来,T-SQL语言将不断演进和完善,支持更多 的数据类型、函数和操作符,提高数据处理效率 和安全性。
3
变量和常量的声明与赋值
使用DECLARE语句声明变量,使用SET或 SELECT语句为变量赋值。
流程控制语句
IF语句
用于根据条件执行不同的代码块。
WHILE语句
用于重复执行一段代码直到满足特定条件。
CASE语句
用于根据条件执行不同的代码块,类似于IF-ELSE结构。
GOTO语句
用于将程序控制转移到指定的标签位置。
使用存储过程和触发器
存储过程
使用CREATE PROCEDURE语句创建一个 存储过程,该过程可以包含一系列的TSQL语句,用于执行特定的数据库操作。
VS
触发器
使用CREATE TRIGGER语句创建一个触 发器,该触发器将在指定的事件(如 INSERT、UPDATE或DELETE操作)发生 时自动执行相应的操作。

同时,T-SQL语言将与新兴技术如人工智能、机 器学习等相结合,拓展其在数据分析、预测和智 能决策等领域的应用价值。

经典SQL语句大全

经典SQL语句大全

一、基础1、说明:创建数据库CREATE DATABASE database name2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1. dat'--- 开始备份BACKUP DATABASE pubs TO testBack4、说明:创建新表create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)根据已有的表创建新表:A:create table tab_new like tab_old (使用旧表创建新表)B:create table tab_new as select col1,col2… from tab_old definition only5、说明:删除新表drop table tabname6、说明:增加一个列Alter table tabname add column col type注:列增加后将不能删除。

DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。

7、说明:添加主键:Alter table tabname add primary key(col)说明:删除主键: Alter table tabname drop primary key(col)8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname注:索引是不可更改的,想更改必须删除重新建。

9、说明:创建视图:create view viewname as select statement删除视图:drop view viewname10、说明:几个简单的基本的sql语句选择:select * from table1 where 范围插入:insert into table1(field1,field2) values(value1,value2)删除:delete from table1 where 范围更新:update table1 set field1=value1 where 范围查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!排序:select * from table1 order by field1,field2 [desc]总数:select count as totalcount from table1求和:select sum(field1) as sumvalue from table1平均:select avg(field1) as avgvalue from table1最大:select max(field1) as maxvalue from table1最小:select min(field1) as minvalue from table111、说明:几个高级查询运算词A:UNION 运算符UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。

数据库技术与应用(第二版)课后答案

数据库技术与应用(第二版)课后答案

第1章习题参考答案1.思考题(1)什么是数据库、数据库管理系统、数据库系统?它们之间有什么联系?答:数据库是存贮在计算机内的有结构的数据集合;数据库管理系统是一个软件,用以维护数据库、接受并完成用户对数据库的一切操作;数据库系统指由硬件设备、软件系统、专业领域的数据体和管理人员构成的一个运行系统。

(2)当前,主要有哪几种新型数据库系统?它们各有什么特点?用于什么领域,试举例说明?答:主要有:分布式数据库、面向对象数据库、多媒体数据库、数据仓库技术、空间数据库。

(3)什么是数据模型?目前数据库主要有哪几种数据模型?它们各有什么特点?答:数据模型是一组描述数据库的概念。

这些概念精确地描述数据、数据之间的关系、数据的语义和完整性约束。

很多数据模型还包括一个操作集合。

这些操作用来说明对数据库的存取和更新。

数据模型应满足3方面要求:一是能真实地模拟现实世界;二是容易为人们理解;三是便于在计算机上实现。

目前在数据库领域,常用的数据模型有:层次模型、网络模型、关系模型以及最近兴起的面向对象的模型。

(4)关系数据库中选择、投影、连接运算的含义是什么?答:1)选择运算:从关系中筛选出满足给定条件的元组(记录)。

选择是从行的角度进行运算,选择出的记录是原关系的子集。

2)投影运算:从关系中指定若干个属性(字段)组成新的关系。

投影是从列的角度进行运算,得到的新关系中的字段个数往往比原关系少。

3)连接运算:将两个关系按照给定的条件横向拼接成新的关系。

连接过程是通过两个关系中公有的字段名进行的。

(5)关键字段的含义是什么?它的作用是什么?答:一个关系中可以确定一个字段为关键字段,该字段的值在各条记录中不能有相同的值。

(如:门牌号码);关键字段的作用主要是为建立多个表的关联和进行快速查询。

(6)什么是E-R图?E-R 图是由哪几种基本要素组成?这些要素如何表示?答:E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

淮海工学院计算机工程学院实验报告书
课程名:《数据库原理及应用》
题目:T-SQL高级应用
班级:
学号:
姓名:
评语:
成绩:指导教师:
批阅时间:年月日
一.目的与要求
1.掌握复杂查询的使用方法;
2.掌握多表连接的方法;
3.掌握SELECT语句在多表查询中的应用。

4.掌握数据汇总、外连接查询的使用方法;
5.掌握事务定义的一般方法
二.实验内容
1.给出教材14-16的程序运行结果。

2.编写程序,查询“1033”班的最高分的学生的学号、姓名、班号、课程号和分数。

3.编写程序,创建一个新表,包含所有学生的姓名、课程名和分数,并以姓名排序。

4.编写程序,输出每个班最高分的课程名和分数。

5.在上次实验建立的factory数据库的基础上,完成如下各题:
●删除factory数据库上各个表之间建立的关系;
●显示各职工的工资记录和相应的工资小计。

●按性别和部门名的所有组合方式列出相应的平均工资。

●在worker表中使用以下语句插入一个职工记录:insert into worker values(20,’陈立’,
‘女’,’55/03/08’,1,’75/10/10’,4),在depart表中使用以下语句插入一个部门记
录:insert into depart values(5,’设备处’)。

再对worker和depart表进行全外连接显示职
工的职工号,姓名和部门名。

然后删除这两个插入的记录。

●显示最高工资的职工的职工号、姓名、部门名、工资发放日期和工资。

●显示最高工资的职工所在的部门名。

●显示所有平均工资低于全部职工平均工资的职工的职工号和姓名。

●先显示worker表中的职工人数,开始一个事务,插入一个职工记录,再显示worker
表中的职工人数,回滚该事务,最后显示worker表中的职工人数。

三.实验步骤
1.建立数据库上各个表之间建立的联系;
2.输入命令语句,建立视图
3.查询并检验
4.截图保存
四.测试数据与实验结果
14:
15:
16:
18:
19:
20:
(2)
(4)
(6)
(10)
通过这次实验,我对数据库中的T-SQL高级应用有了更深的了解,在实验中,多次运用到了老师上课讲的常用语句,以及回滚事务,让我对此事务的语句有进一步的了解,在删除一个记录的时候,出现了语法错误,在之后的更改后得以运行。

相关文档
最新文档