实验五T-SQL查询语言和函数练习-大型数据库-浙江财经学院-东方学院-信息-实验报告-分享请大家评个分.doc
文本预览下载声明
85-29
实 验(实训)报 告
项 目 名 称 T-SQL查询语言和函数练习
所属课程名称 高级数据库
项 目 类 型
实验(实训)日期 2010-3-31
班 级 计算机科学与技术
学 号 0720410149
姓 名 朱优苗
指导教师 孟宪虎
浙江财经学院教务处制
一、实验(实训)概述:【目的及要求】
【基本原理】
【实施环境】(使用的材料、设备、软件)
计算机、Widows、SQL Server 2000、Word
二、实验(实训)内容:【项目内容】
【方案设计】
【实验(实训)过程】(步骤、记录、数据、程序等)
(1)调出实验四定义的表
(2)用SQL语句增加数据语句输入四个表中数据。其中部门表不得少于5个,员工表不得少于10个,项目表不得少于10个,员工参与项目的情况表不得少于20个。
(3)设计查询
①求参加‘J3’项目的员工姓名
select 姓名
from 员工参与项目表,员工表
where 项目编号=J3
and 员工表.员工号=员工参与项目表.员工号
②查询张明这个职工所参加的项目的项目号,项目名称以及项目所在地方。
select 项目表.项目编号,项目名称,所在地方
from 员工参与项目表,员工表,项目表
where 员工表.员工号=员工参与项目表.员工号
and 员工参与项目表.项目编号=项目表.项目编号
and 姓名=张明
③查询参与了所有项目的员工姓名和员工所在的部门。
select 姓名,所在部门号
from 员工表
where not exists
(select *
from 项目表
where not exists
(select *
from 员工参与项目表
where 员工号=员工表.员工号
and 项目编号=项目表.项目编号))
④查询没有参与任何一个项目的员工姓名和所在部门。
select 姓名,所在部门号
from 员工表
where not exists
(select *
from 项目表
where exists
(select *
from 员工参与项目表
where 员工号=员工表.员工号
and 项目编号=项目表.项目编号))
⑤查询所有部门都有员工参与的项目。
select 项目编号
from 项目表
where not exists
(select *
from 员工表
where not exists
(select *
from 员工参与项目表
where 员工号=员工表.员工号
and 项目编号=项目表.项目编号))
⑥查询需要在2004.8月之前完成的和2003年以后开始的项目编号,名称和所参加人员的姓名和部门。
select 项目表.项目编号,项目名称,姓名,所在部门号
from 员工参与项目表,员工表,项目表
where 员工表.员工号=员工参与项目表.员工号
and 员工参与项目表.项目编号=项目表.项目编号
and cast(完工日期 as datetime)cast(2004-08-01 as datetime)
and cast(开工日期 as datetime)cast(2003-01-01 as datetime)
⑦对所有项目主管的工资增加10%。
update 员工表
set 工资=工资*1.1
where exists
(select *
from 项目表
where 项目表.项目主管=员工表.员工号)
⑧查询参加了在上海的项目的所有职工的编号、姓名和所在部门。
select 员工表.员工号,姓名,所在部门号
from 员工参与项目表,员工表,项目表
where 员工表.员工号=员工参与项目表.员工号
and 员工参与项目表.项目编号=项目表.项目编号
and 所在地方 like %上海%
⑨列出每个部门职工的工资,部门
显示全部