数据库应用实验报告数据库的查询.docx
《数据库应用实验报告数据库的查询.docx》由会员分享,可在线阅读,更多相关《数据库应用实验报告数据库的查询.docx(18页珍藏版)》请在冰点文库上搜索。
数据库应用实验报告数据库的查询
内蒙古工业大学信息工程学院
实验报告
课程名称:
数据库应用
实验名称:
数据库的查询
实验类型:
验证性□综合性□设计性□
实验室名称:
班级:
学号:
姓名:
组别:
同组人:
成绩:
实验日期:
预习报告成绩:
指导教师审核(签名):
年月日
预习报告
一、实验目的
1.掌握SELECT语句的基本语法;
2.掌握子查询的表示;
3.掌握连接查询的表示;
4.掌握数据汇总的方法;
5.掌握SELECT语句的GROUPBY子句的作用和使用方法;
6.掌握SELECT语句的ORDERBY子句的作用和使用方法。
二、实验内容
1.SELECT语句的基本使用
(1)对于实验1给出的数据库表结构,查询每个雇员的所有数据。
在查询分析器的窗口输入如下的语句并执行:
USEYGGL
SEIECT*
FROMEmployees
GO
【思考与练习】
用SELECT语句查询Departments和Salary表的所有记录。
(2)查询每个雇员的地址和电话。
在查询分析器的窗口输入如下的语句并执行:
USEYGGL
SELECTAddress,PhoneNumber
FROMEmployees
GO
【思考与练习】
用SELECT语句查询Departments和Salary表的一列或若干列。
(3)查询EmployeeID为000001的雇员的地址和电话。
在查询分析器的窗口输入如下的语句并执行:
USEYGGL
SELECTAddress,PhoneNumber7
FROMEmployees
WHEREEmployeelD=’000001’
GO
【思考与练习】
用SELECT语句查询Departments和Salary表中满足指定条件的1列或若干列。
(4)查询Employees表中女雇员的地址和电话,使用AS子句将结果中各列的标题分别指定为地址、电话。
在查询分析器的窗口输入如下的语句并执行:
USEYGGL
SELECTAddressAS地址.PhoneNumberAS电话
FROMEmployees
WHEREsex=0
Go
注意:
使用AS子句可指定目标列的标题。
(1)计算每个雇员的实际收入。
在查询分析器的窗口输入如下的语句并执行:
USEYGGL
SELECTEmployeelD,实际收入=InCome—OutCome
FROMSalary
G0
(2)找出所有姓王的雇员的部门号。
在查询分析器的窗口输入如下的语句并执行:
USEYGGL
SELECTDepartmentID
FROMEmployees
WHEREnameLIKE’王%’
Go
【思考与练习】找出所有其地址中含有‘‘中山”的雇员的号码及部门号。
(3)找出所有收入在2000~3000元之间的雇员号码。
在查询分析器的窗口输入如下的语句并执行:
USEYGGL
SELECTEmployeelD
FROMSalary
WHEREInComeBETWEEN2000AND3000
GO
【思考与练习】
找出所有在部门‘1’或‘2’工作的雇员的号码。
注意:
在SELECT语句中LIKE、BETWEEN…AND,,IN,NOT及CONTAIN谓词的作用。
1.子查询的使用
(1)查找在财务部工作的雇员的情况。
在查询分析器的窗口输入如下的语句并执行:
USEYGGL
SELECT*
FROMEmployees.
WHEREDepartmentlD=。
(SELECTDepartmentlD
FROMDepartments
WHEREDepartmentName=’财务部’)
GO
【思考与练习】
用子查询的方法查找所有收入在2500元以下的雇员的情况。
(2)查找财务部年龄不低于研发部雇员年龄的雇员的姓名。
在查询分析器的窗口输入如下的语句并执行:
USEYGGL
SELECTName
FROMEmployees
WHEREDepartmentIDIN
(SELECTDepartmentID
FROMDepartments
WHEREDepartmentName’财务部’)
AND
Birthday!
>ALL(SELECTBirthday
FROMEmployees
WHEREDepartmentlDIN
(SELECTDepartmentlD
FROMDepartments
WHEREDepartmentName=’研发部’))
GO
【思考与练习】
用子查询的方法查找研发部比所有财务部雇员收入都高的雇员的姓名。
(3)查找比所有财务部的雇员收入都高的雇员的姓名。
在查询分析器的窗口输入如下的语句并执行:
USEYGGL
SELECTName
FROMEmployees
WHEREEmployeeIDIN
(SELECTEmployeelD
FROMSalary
WHEREInCome>.
ALL(SELECTInCome
FROMSalary
WHEREEmployeelDIN
(SELECTEmployeelD
FROMEmployees
WHEREDepartmentlD=
(SELECTDepartmentlD
FROMDepartments
WHEREDepartmentName=’财务部’))))
GO
【思考与练习】
用子查询的方法查找所有年龄比研发部雇员年龄都大的雇员的姓名。
3.连接查询的使用
(1)查询每个雇员的情况以及其薪水的情况。
在查询分析器的窗口输入如下的语句并执行:
USEYGGL
SELECTEmploees.*,Salary.*
FROMEmployees,Salary
WHEREElmployees.EmployeelD=Salary.EmployeelD
GO
【思考与练习】查询每个雇员的情况以及其工作部门的情况。
(2)查找财务部收入在2200元以上的雇员姓名及其薪水详情。
在查询分析器的窗口输入如下的语句并执行:
USEYGGL
SELECTName,InCome,OutCome
FROMEmployees,Salary,Departments
WHEREEmployees.EmployeelD=Salary.EmployeelDANDEmployees.DepartmentlD
=Departments.DepartmentlDANDDepartmentName=’财务部’ANDInCome>2000
GO
【思考与练习】查询研发部在1966年以前出生的雇员姓名及其薪水详情。
2.数据汇总
(1)求财务部雇员的平均收入。
在查询分析器的窗口输入如下的语句并执行:
USEYGGL
SELECTAVG(InCome)AS’财务部平均收入’
FROMSalary
WHEREEmployeelDIN
(SELECTEmployeelD
FROMEmployees
WHEREDepartmentlD=
(SELECTDepartmentlD
FROMDepartments
WHEREDepartmentName=’财务部’))
GO
【思考与练习】查询财务部雇员的最高和最低收入。
(3)求财务部雇员的平均实际收入。
在查询分析器的窗口输入如下的语句并执行:
USEYGGL
SELECTAVG(1nCome-OutCome)AS‘财务部平均实际收入’
FROMSalary
WHEREEmployeelDIN
(SELECTEmployeeID
FROMEmployees
WHEREDepartanentlD=
(SELECTDepartmentlD
FROMDepartments
WHEREDepamnentName=’财务部’))
GO
【思考与练习】
查询财务部雇员的最高和最低实际收入。
(4)求财务部雇员的总人数。
在查询分析器的窗口输入如下的语句并执行:
USEYGGL
SELECTCOUNT(EmployeelD)
FROMEmployees
WHEREDepartmentlD=
(SELECTDepartmentlD
FROMDepartments
WHEREDepartmentName=’财务部’)
GO
【思考与练习】统计财务部收入在2500元以上雇员的人数。
3.GROUPBY,ORDERBY子句的使用
(1)求各部门的雇员数。
在查询分析器的窗口输入如卜^的语句并执行:
USEYGGL
SELECTCOUNT(EmployeelD)
FROMEmployees
GROUPBYDepartmentID
Go
【思考与练习】统计各部门收入在2000元以上雇员的人数。
(2)将各雇员的情况按收入由低到高排列。
在查询分析器的窗口输入如下的语句并执行:
USEYGGL
SELECTEmployees.*,Salary.*
FROMEmployees,Salary
WHEREEmployees.EmployeeID=Salary.EmployeeID
ORDERBYInCome
G0
【思考与练习】将各雇员的情况按出生时间先后排列。
实验报告成绩:
指导教师审核(签名):
年月日
实验报告
1.SELECT语句的基本使用
(1)对于实验1给出的数据库表结构,查询每个雇员的所有数据。
(2)查询每个雇员的地址和电话。
(3)查询EmployeeID为000001的雇员的地址和电话。
(4)查询Employees表中女雇员的地址和电话,使用AS子句将结果中各列的标题分别指定为地址、电话。
(5)计算每个雇员的实际收入。
(6)找出所有姓王的雇员的部门号。
(7)找出所有收入在2000~3000元之间的雇员号码。
2.子查询的使用
(1)查找在财务部工作的雇员的情况。
(2)查找财务部年龄不低于研发部雇员年龄的雇员的姓名。
(3)查找比所有财务部的雇员收入都高的雇员的姓名。
3.连接查询的使用
(1)查询每个雇员的情况以及其薪水的情况。
(2)查找财务部收入在2200元以上的雇员姓名及其薪水详情。
4.数据汇总
(1)求财务部雇员的平均收入。
5.求财务部雇员的平均实际收入。
6.求财务部雇员的总人数。
7.GROUPBY,ORDERBY子句的使用
(1)求各部门的雇员数。
(2)将各雇员的情况按收入由低到高排列。