实验 成绩 简 要 评 语 实验评阅教师签名
华北科技学院管理系
实验报告册
实验课程名称: 电子商务数据库技术 实验项目序号: 实验二 实验项目名称: 实验二 T-SQL 语言基础 实验室名称: 电子商务实验室 开课学 期: 2010——2011学年第二学期 20 授 课 教 师: 实验指导教师: 专 业: 电子商务 班 级: 学 号: 姓 名: 黄飞翠
共6页 第 1 页
实 验 报 告
实验时间:2011年4月2日11、12节 一、实验运行环境 Windows xp+sqlserver 二、实验目的 掌握T-SQL语句的查找功能、掌握T-SQL语句的简单插入功能 、掌握T-SQL语句的简单更新功能 、掌握T-SQL语句的简单删除功能 三、实验要求 .独立完成实验步骤,并提交书面实验报告。 四、实验内容和步骤 1、显示所有职工的年龄:SQL 语句如下: select year(getdate())-year(出生年月)+1 as 职工年龄from worker 结果如下: 2、求出各部门的党员的人数 SQL语句如下: select 部门名,count(党员否) as 各部门党员人数from worker,depart where worker.部门号=depart.部门号and 党员否='是' group by 部门名 结果如下 3. 显示所有职工的姓名和2004年1月的工资数 select 姓名,工资from worker left join salary on worker.职工号=salary.职工号 and year(日期)=2004 and month(日期)=1
共6 页 第 2 页
4、显示所有职工的职工号、姓名与平均工资 select worker.职工号,姓名,avg(工资) as 平均工资from worker,salary where worker.职工号=salary.职工号group by worker.职工号,姓名 5、--五题显示所有职工的职工号、姓名、部门名和2004年2月的工资,并按照部门名顺序排列。 select worker.职工号,worker.姓名,depart.部门名,salary.工资from worker left join salary on worker.职工号=salary.职工号,depart where worker.部门号=depart.部门号and year(日期)=2004 and month(日期)=2 and worker.部门号=depart.部门号 6、显示各部门的部门名和该部门所有职工的平均工资 select depart.部门名,avg(工资) as 所有职工的平均工资 from depart,salary,worker where salary.职工号=worker.职工号and worker.部门号=depart.部门号group by 部门名with cube 共6页 第 3 页
7、显示所有平均工资高于1200的部门名和对应的平均工资。 select 部门名,worker.部门号,avg(工资) 平均工资from worker,depart,salary where worker.职工号=salary.职工号and worker.部门号=depart.部门号group by worker.部门号,部门名having avg(工资)>1200 8、显示所有职工的职工号、姓名和部门类别,其中财务处和人事处属管理部门,市场部属市场部门。 select 职工号,姓名,worker.部门号,depart.部门名,'部门类别:' ,case 部门名 when '管理系' then '管理部门' when '外语系' then '语言类' when '环境系' then '环境类' end as '部门类别' from worker,depart where worker.部门号=depart.部门号 9、若存在职工号为10的职工,则显示其工作部门名称,否则显示相应的提示信息。 declare @i int if(select 职工号from worker where 职工号=10) is null goto labell begin print '10号职工所在部门为:' select @i=depart.部门名from worker,depart where worker.职工号=10 print @i return
共6页 第4页
end labell: print'没有职工号为的职工!' 10、求出男女职工的平均工资,若男职工平均工资高出女职工平均工资%,则显示“男职工比女职工的工资高多了”的信息; 若男职工平均工资与女职工平均工资比率在.5至.8之间,则显示“男职工和女职工的工资差不多”的信息; 否则显示“女职工比男职工的工资高多了”的信息。 declare @a float,@b float select @a=avg(工资) from salary,worker where 性别='男' group by 性别 select @b=avg(工资) from salary,worker where 性别='女' group by 性别 if @a/@b>=1.5 print'男职工比女职工的工资高多啦' else if @a/@b>0.8 and @a/@b<1.5 print'男职工和女职工的工资差不多' else print'女职工的工资比男职工的工资高啦' 11、将你的个人信息插入到职工表内,并在工资表内添加年月的工资信息。 insert into worker (职工号,姓名,性别,出生年月,党员否,参加工作,部门号)values(8,'黄飞翠','女','1989-10-20','否','2008-8-8',2) select *from worker insert into salary (职工号,日期,工资)values(8,'2009-1-30','3000.0') select *from salary where 职工号=8 12、修改你的工资信息,将你年月的工资调整为元 13、删除你年月的工资信息。 delete from salary where 日期='2009-1-30' select* from salary 共6页 第5 页
五、实验结果分析与总结 1、基本查询使用的SQL语句及 条件查询 用Group by 查询,having 的应用条件 2、聚合函数的使用必须有Group by 进行分组,而且分组中包含除聚合函数外所有的列名 3、like 中%代表0个或多个字符,下划线代表一个字符 4、用compute 与compute by 对数据汇总的区别:显示的 结果集个数不同。其中的聚合函数写在compute 的()中 5、还可以用group by with cube 实 验 报 告 说 明
1、要求每一实验项目书写一份实验报告,并按实验课程归类汇总。 2、实验报告要遵照实验指导书和任课教师的具体要求逐项填写。 3、实验报告正文要求字迹清晰、工整,用钢笔、中性笔或圆珠笔书写。 4、实验报告封面不得有空缺项;实验项目序号指实验项目编号,如:实验一。 5、实验运行环境之具体实验室和运行软件。 6、实验内容和步骤如书写不够,可加页。
共6页 第 6 页
因篇幅问题不能全部显示,请点此查看更多更全内容