实验编号: 4 四川师大数据库原理实验报告 2017 年 4 月 13 日
计算机科学学院2015级5班 实验名称: 查询(多表查询,嵌套查询,分组查询)
姓名:__唐雪梅__ 学号: 2015110538 指导老师:__李敏_ 实验成绩:_ __
实验 四 查询(多表查询,嵌套查询,分组查询)
实验目的及要求
实现单表和多表的普通查询和嵌套查询。包括返回单值的子查询和返回多值的子查询。使用5个聚合函数以及GROUP BY子句和HAVING子句实现分组查询.
二、实验内容
有如下关系模式,分析每个关系模式的主码,外码,完成后面的查询
职员表:Emp(eid:integer;ename:string,salary:real)
部门表:Dept(did:integer,dname:string,managerid:integer,floornum:integer)
职员与部分的关系表:Works(eid:integer,did:integer);
Works表表示:一个职员可以在多个部门工作,一个部门有多个职员
Dept表中managerid可以取值null,表示尚未任命部门经理,floornum可以取值null,表示尚未分配工作地点
三、实验主要流程、基本操作或核心代码、算法片段
(1)用单表查询完成如下操作:
输出所有员工的姓名和工资
输出薪水少于10 000或者大于100 000的雇员的名字
输出所有姓“欧阳”,且全名为四个字的雇员的姓名和工资
输出薪水在20 000和50 000之间的雇员的名字
输出部门名字中含有“_”的所有部门的名字和楼层号
查询公司的员工数
查询所有还没有部门经理的部门的名字和编号
查询所有已分配楼层的部门的所有信息
(2)用连接查询完成如下操作:
查询“电视”部门的职工人数
输出每个部门的名字和平均工资
查询每个部门的部门编号,及其拥有的雇员的人数
查询