数据库原理及应用期中试卷答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据库原理及应用》期中试题答案(时间:50分钟,满分:20分)
课本实验部分:
已知数据库YGGL,其中包含三个表单,分别为Employees表、Departments表和Salary表(详见P314,P317,P318)。
P321
1.查询收入高于2000元的员工号码。
USE YGGL
GO
SELECT EmployeeID
FROM Salary
WHERE InCome>2000.0
2.查询1970年以后出生的员工姓名和住址。
USE YGGL
GO
SELECT Name,Address
FROM Employees
WHERE Birthday>'1970-12-31'
3.查询所有财务部的员工的号码和姓名。
USE YGGL
GO
SELECT EmployeeID,Name
FROM Employees,Departments
WHERE Employees.DepartmentID=Departments.DepartmentID AND Departments.DepartmentName='财务部' P322
4.查询Employees员工的姓名、住址和收入水平,2000元以下显示为低收入,2000~3000
元显示为中等收入,3000元以上显示为高收入。
USE YGGL
GO
SELECT Name,Address,
CASE
WHEN InCome<2000.0 THEN'低收入'
WHEN 2000.0<=InCome AND InCome<=3000.0 THEN'中等收入'
WHEN InCome>3000.0 THEN'高收入'
END AS收入水平
FROM Employees,Salary
WHERE Employees.EmployeeID=Salary.EmployeeID
5.找出所有其住址中含有“中山”的雇员的号码及部门号。
USE YGGL
GO
SELECT EmployeeID,DepartmentID
FROM Employees
WHERE Address LIKE'%中山%'
P323
6.使用INTO子句,由表创建“男员工”表,包括员工编号和姓名。
USE YGGL
GO
SELECT EmployeeID,Name
INTO男员工表
FROM Employees
WHERE Sex=1
P325
7.查询财务部雇员的最高和最低收入。
USE YGGL
GO
SELECT MAX(InCome)AS'最高收入',MIN(InCome)AS'最低收入'
FROM Salary
WHERE EmployeeID IN
(
SELECT EmployeeID
FROM Employees
WHERE DepartmentID=
(
SELECT DepartmentID
FROM Departments
WHERE DepartmentName='财务部'
)
)
P326
8.按员工的工作年份分组,统计各个工作年份的人数,例如,工作1年的多少人,工作两
年的多少人。
USE YGGL
GO
SELECT WorkYear,COUNT(WorkYear)AS工作年份人数
FROM Employees
GROUP BY WorkYear
P327
9.将员工信息按出生时间从小到大排列。
USE YGGL
GO
SELECT*
FROM Employees
ORDER BY Birthday
10.创建视图AA,包含员工号码、姓名、所在部门名称和实际收入这几列。
CREATE VIEW AA(EmployeeID,Name,DepartmentName,实际收入)
AS
SELECT Employees.EmployeeID,,Departments.DepartmentName,
Salary.InCome-OutCome
FROM Departments,Employees,Salary
WHERE Departments.DepartmentID=dbo.Employees.DepartmentID AND Employees.EmployeeID=dbo.Salary.EmployeeID