SQLSERVER2008实用教程实验参考答案解析(实验4)
实验4 数据库的查询和视图
一、SELECT语句的基本使用
1. 查询Employees表中所有数据
2. 查询Employees表中指定字段数据
3. 查询Employees表中的部门号和性别,要求使用Distinct消除重复行
4. 使用WHERE子句查询表中指定的数据
查询编号为’000001’的雇员的地址和
查询月收入高于2000元的员工
查询1970年以后出生的员工的和住址
5. 使用AS子句为表中字段指定别名
查询Employees表中女雇员的地址和,并将列标题显示为地址和
查询Employees表中男雇员的和出生日期,并将列标题显示为和出生日期
6. 使用使用CASE子句
查询Employees表中员工的和性别,要求Sex值为1时显示“男”,为0时显示“女”
查询Employees表中员工的、住址和收入水平,2000元以下显示为低收入,2000~3000地显示为中等收入,3000元以上显示为高收入。
7. 使用SELECT语句进行简单计算
select中distinct计算每个雇员的实际收入
8. 使用置函数
获得员工总数
计算Salary表中员工月收入的平均数
获得Employees表中最大的员工
计算Salary表中所有员工的总支出
查询财务部雇员的最高和最低实际收入
9. 模糊查询
出所有姓王的雇员的部门号
出所有地址中含有“”的雇员的及部门号
出员工中倒数第二个数字为0的员工的、地址和学历
10. Between…And…和Or的使用
出收入在2000~3000元之间的雇员编号
出部门为“1”或“2”的雇员的编号
11. 使用INTO子句,由源表创建新表
由表Salary创建“SalaryNew”表,要求包括编号和收入,选择收入在1500元以上的雇员由表Employees创建“EmployeesNew”表,要求包括编号和,选择所有男员工
二、子查询的使用
1. 查在财务部工作的雇员情况
2. 用子查询的方法查所有收入在2500以下的雇员的情况
3. 查财务部年龄不低于研发部雇员年龄的雇员
4. 用子查询的方法查研发部比所有财务部雇员收入都高的雇员的
5. 查比所有财务部的雇员收入都高的雇员的
6. 用子查询的方法查所有年龄比研发部雇员年龄都大的雇员的
三、连接查询的使用
1. 查询每个雇员的情况及薪水的情况
2. 查询每个雇员的情况及其工作部门的情况
3. 使用连接的方法查询名字为“王林”的雇员所在的部门
4. 使用连接的方法查出不在财务部工作的所有雇员信息
5. 使用外连接方法查出所有员工的月收入
6. 查财务部收入在2000元以上的雇员及其薪水详情
7. 查询研发部在1976年以前出生的雇员及其薪水详请
四、聚合函数的使用
1. 求财务部雇员的平均收入
2. 查询财务部雇员的最高和最低收入
3. 求财务部雇员的平均实际收入
4. 查询财务部雇员的最高和最低实际收入
5. 求财务部雇员的总人数
6. 统计财务部收入在2500元以上的雇员人数
五、GROUP BY、ORDER BY子句的使用
1. 查Employees表中男性和女性的人数
2. 按部门列出在该部门工作的员工的人数
3. 按员工的学历分组,排列出本科、大专、硕士的人数
4. 查员工数超过2的部门名称和雇员数量
5. 按员工的工作年份分组,统计各个工作年份的人数,例如工作1年的多少人,工作2年的多少人
6. 将雇员的情况按收入由低到高排列
7. 将员工信息按出生时间从小到大排列
8. 在ORDER BY 子句中使用子查询,查询员工、性别和工龄信息,要求按实际收入从大到小排列
六、视图的使用
1. 创建视图
(1)在数据库YGGL上创建视图Departments_View,视图包含Department表的全部列(2)创建视图Employees_Departments_View,视图包含员工、、所在部门名称
(3)创建视图Employees_Salary_View,视图包含员工、和实际收入三列
2. 查询视图
从视图Employees_Salary_View中查询出为“王林”的员工的实际收入
3. 更新视图
(1)向视图Departments_View中添加一条记录(‘6’,‘广告部’,‘广告业务’)
执行完命令后,分别查看Departments_View和Department表中发生的变化
(2)尝试向Employees_Departments_View中添加一条记录,看看会发生什么情况
(3)尝试向Employees_Salary_View中添加一条记录,看看会发生什么情况
(4)将视图Departments_View中,部门号为‘6’的部门名称修改为‘生产车间’
(5)删除视图Departments_View中最新增加的的一条记录
4. 删除视图Employees_Departments_View
5. 在界面工具中操作视图
一、SELECT语句的基本使用
1. 查询Employees表中所有数据
SELECT*FROM Employees;
2. 查询Employees表中指定字段数据
SELECT EmployeeID,Name,DepartmentID FROM Employees;
3. 查询Employees表中的部门号和性别,要求使用Distinct消除重复行
SELECT Distinct DepartmentID,Sex FROM Employees;
4. 使用WHERE子句查询表中指定的数据
查询编号为’000001’的雇员的地址和
Select Address,PhoneNumber FROM Employees WHERE EmployeeID='000001';
查询月收入高于2000元的员工
SELECT EmployeeID FROM Salary WHERE InCome>2000;
查询1970年以后出生的员工的和住址
SELECT Name,Address FROM Employees WHERE YEAR(Birthday)>'1970';
SELECT Name,Address FROM Employees WHERE Birthday>'1970';
5. 使用AS子句为表中字段指定别名
查询Employees表中女雇员的地址和,并将列标题显示为地址和
SELECT Address AS地址,PhoneNumber AS FROM Employees;
查询Employees表中男雇员的和出生日期,并将列标题显示为和出生日期
SELECT Name AS,Birthday AS出生日期FROM Employees WHERE Sex=1;
6. 使用使用CASE子句
查询Employees表中员工的和性别,要求Sex值为1时显示“男”,为0时显示“女”SELECT Name AS,
CASE
WHEN Sex=1 THEN'男'
WHEN Sex=0 THEN'女'
END
AS性别
FROM Employees;
查询Employees表中员工的、住址和收入水平,2000元以下显示为低收入,2000~3000地显示为中等收入,3000元以上显示为高收入。
SELECT
www./doc/e214598288.html, AS,a.Address as住址,
CASE
WHEN b.InCome<2000 THEN'低收入'
WHEN b.InCome BETWEEN 2000 AND 3000 THEN'中等收入'
WHEN b.InCome>3000 THEN'高收入'
END
AS收入水平
FROM Employees a,Salary b
WHERE a.EmployeeID=b.EmployeeID;
7. 使用SELECT语句进行简单计算
在Salary表中,计算每个雇员的实际收入,并显示雇员编号和实际收入
SELECT EmployeeID AS雇员编号,InCome-OutCome AS实际收入FROM Salary;
8. 使用聚合函数

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。