信息学院实验报告学号:114100136姓名:熊忠飞班级:11B课程名称:大型数据库管理系统实验名称:数据库中表的查询实验性质:验证性实验实验时间:2013年4月25日实验地点:睿智4号楼212B区一、实验目的1、能够向自己创建的表添加数据、修改数据和删除数据。2、掌握查询编辑器的使用方法。3、掌握SELECT语句在单表查询中的应用。4、掌握SELECT语句在多表查询中的应用。5、掌握复杂查询的使用方法。二、实验内容及要求1)调出第4章实验创建的四个表。方法:附加XMGL数据库或运行创建4个表的SQL语句。2)用SQL增加数据语句输入四个表中数据。其中部门表不得少于5个,员工表不得少于10个,项目表不得少于10个,员工参与项目的情况表不得少于20个。注意:输入数据时应先输入主表数据,再输入有外键的数据;同时注意各表已经定义约束条件。3)设计查询语句并在查询编辑器中进行查询。①求参加某个项目的员工姓名。②查询某个职工所参加的项目的项目号,项目名称以及项目所在地方。③查询参与了所有项目的员工姓名和员工所在的部门。④查询没有参与任何一个项目的员工姓名和所在部门。⑤查询所有部门都有员工参与的项目。⑥查询参加了在上海的项目的所有职工的编号、姓名和所在部门。⑦列出每个部门的平均工资、最高工资、最低工资,工资合计,以及整个单位职工的平均工资总计。⑧对所有项目主管的工资增加10%。三、实验步骤及结果1、调出第4章实验创建的四个表。方法:附加XMGL数据库或运行创建4个表的SQL语句。2、用SQL语句增加数据语句输入四个表中数据。其中部门表不得少于5个,员工表不得少于10个,项目表不得少于10个,员工参与项目的情况表不得少于20个。(1)部门表(2)项目表(3)员工表(4)员工参与项目表3、设计查询语句并在查询编辑器中进行查询。(1)求参加“C6”项目的员工姓名select姓名from员工参与项目表,员工表where项目编号='C6'and员工表.员工号=员工参与项目表.员工号(2)查询'萌萌'这个职工所参加的项目的项目号,项目名称以及项目所在地方。select项目表.项目编号,项目名称,所在地方from员工参与项目表,员工表,项目表where员工表.员工号=员工参与项目表.员工号and员工参与项目表.项目编号=项目表.项目编号and姓名='萌萌'(3)查询参与了所有项目的员工姓名和员工所在的部门。select姓名,所在部门号from员工表wherenotexists(select*from项目表wherenotexists(select*from员工参与项目表where员工号=员工表.员工号and项目编号=项目表.项目编号))(4)查询没有参与任何一个项目的员工姓名和所在部门。select姓名,所在部门号from员工表wherenotexists(select*from项目表whereexists(select*from员工参与项目表where员工号=员工表.员工号and项目编号=项目表.项目编号))(5)查询所有部门都有员工参与的项目。select项目编号from项目表wherenotexists(select*from员工表wherenotexists(select*from员工参与项目表where员工号=员工表.员工号and项目编号=项目表.项目编号))(6)查询参加了在“云南”的项目的所有职工的编号、姓名和所在部门。select员工表.员工号,姓名,所在部门号from员工参与项目表,员工表,项目表where员工表.员工号=员工参与项目表.员工号and员工参与项目表.项目编号=项目表.项目编号and所在地方like'%云南%'(7)列出每个部门职工的工资,部门的平均工资、最高工资、最低工资,工资合计,以及整个单位职工的平均工资总计。A、select所在部门号,avg(工资)as平均工资,max(工资)as最高工资,min(工资)最低工资,sum(工资)工资合计from员工表groupby所在部门号B、selectavg(工资)平均工资总计from员工表(8)对所有项目主管的工资增加10%。update员工表set工资=工资*1.1whereexists(select*from项目表注:每学期至少有一次设计性实验。每学期结束请任课老师按时按量统一交到教学秘书处。where项目表.项目主管=员工表.员工号)改变前:改变后:四、实验小结通过本实验,学会了对以创建的表的基本查询,包括查询数据和表数据编辑。在实验过程中,要掌握各查询语句的含义及用法,清楚题目要求的是什么,要怎么查。不要遗漏一些关键字,不仅要学会在单张表中查询,还要在在多张表中查询。并且复杂查询语句的使用也是很重要的。五、教师评价年月日