数据库的查询和视图实验报告Word格式文档下载.docx
《数据库的查询和视图实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据库的查询和视图实验报告Word格式文档下载.docx(24页珍藏版)》请在冰豆网上搜索。
(6)了解SELECT语句的ORDERBY子句的作用;
(7)了解视图概念;
(8)了解视图的创建方法;
(9了解并掌握对视图的操作。
三.实验步骤
(1)SELECT语句的基本使用。
1、对于实验2给出的数据库表结构,查询每个雇员的所有数据。
新建一个查询,在“查询分析器”窗口中输入如下语句并执行
useYGGL
go
select*
fromEmployees
2用select语句查询employees表中每个雇员的地址和电话。
新建一个查询,在“查询分析器”窗口中输入如下语句并执行:
selectAddress,PhoneNumber
3查询employeeID为000001的雇员的地址和电话。
fromEmployees
whereEmployeeID='
000001'
go
4查询employees表中女雇员的地址和电话,使用AS子句将结果中各列的标题分别指定为地址、电话。
selectAddressAS地址,PhoneNumberAS电话
whereSex=0
5查询employees表中的员工姓名和性别,要求Sex的值为1时显示为‘“男”,为0时显示为“女”。
selectNameAS姓名,
CASE
whenSex=1then'
男'
whenSex=0then'
女'
endAS性别
6计算每个雇员的实际收入。
useYGGL
selectEmployeeID,实际收入=InCome-OutCome
fromSalary
7获得员工总数。
selectCOUNT(*)
8找出所有姓王的雇员的部门号。
selectDepartmentID
whereNameLIKE'
王%'
9找出所有收入在2000~3000之间的员工号码。
selectEmployeeID
whereInComebetween2000and3000
10使用INTO子句,由表Salary创建“收入在1500以上的员工”表,包括编号和收入。
selectEmployeeIDas编号,InComeas收入
INTO收入在以上的员工
whereInCome>
1500
(2)子查询的使用
1查找在财务部工作的雇员的情况。
FROMEmployees
whereDepartmentID=
(
selectDepartmentID
fromDepartments
whereDepartmentName='
财务部'
)
2查找财务部年龄不低于研发部雇员年龄的的雇员的姓名。
selectName
whereDepartmentIDIN
(
selectDepartmentID
fromDepartments
whereDepartmentName='
)
AND
Birthday!
>
ALL
selectBirthday
fromEmployees
whereDepartmentIDIN
whereDepartmentName='
研发部'
3查找比所有财务部的雇员收入都要高的雇员的姓名。
whereEmployeeIDIN
selectEmployeeID
fromSalary
whereInCome>
SELECTInCome
fromSalary
whereEmployeeIDIN
(
selectEmployeeID
fromEmployees
whereDepartmentID=
(
selectDepartmentID
fromDepartments
whereDepartmentName='
)
)
(3)连接查询的使用
1查询每个雇员的情况及其薪水的情况
selectEmployees.*,Salary.*
fromEmployees,Salary
where=
2使用内连接的方法查询名字为“王林”的员工所在的部门。
selectDepartmentName
fromDepartmentsJOINEmployees
ON=
where='
王林'
3查找财务部收入在2000以上的雇员姓名及其薪水详情
新建一个查询,在“查询分析器”窗口中输入如下的语句并执行:
USEYGGL
selectName,InCome,OutCome
fromEmployees,Salary,Departments
where=
AND=
ANDDepartmentName='
ANDInCome>
2000
(4)聚合函数的使用
1求财务部雇员的平均收入
selectAVG(InCome)AS'
财务部平均收入'
FROMSalary
WHEREEmployeeIDin
selectEmployeeID
whereDepartmentID=
2求财务部雇员的平均实际收入
selectAVG(InCome-OutCome)AS'
3求财务部雇员总人数。
selectCOUNT(EmployeeID)
WHEREDepartmentID=
SELECTDepartmentID
FROMDepartments
WHEREDepartmentName='
(5)GROUPBY\ORDERBY子句的使用
1查找Employees表中的男性和女性的人数。
selectSex,COUNT(Sex)
GROUPBYSex;
2查找员工数超过2人的部门名称和员工数量。
select,COUNT(*)AS人数
fromEmployees,Departments
GROUPBY
HAVINGCOUNT(*)>
2
3将各雇员的情况按收入由低到高排列
fromEmployees,Salary
ORDERBYInCome
(6)创建视图
1创建YGGL数据库上的视图DS_VIEW,视图包含Departments表的全部列。
createVIEWDS_VIEW
ASSELECT*FROMDepartments
2创建YGGL数据库上的视图Employees_view,视图包含员工号码、姓名和实际收入三列。
使用如下SQL语句:
createVIEWEmployees_view(EmployeeID,Name,RealIncome)
AS
SELECT,Name,InCome-OutCome
fromEmployees,Salary
where=
(7)查询视图
1从视图DS_VIEW中查询出部门号为3的部门名称
fromDS_VIEW
WHEREDepartmentID='
3'
2从视图Employees_view查询出姓名为“王林”的员工的实际收入。
selectRealIncome
fromEmployees_view
WHEREName='
(8)更新视图。
1向视图DS_VIEW中插入一行数据:
“6,广告部,广告业务”。
INSERTINTODS_VIEWVALUES('
6'
'
广告部'
广告业务'
)
2修改视图DS_VIEW,将部门号为5的部门名称修改为“生产车间”。
UPDATEDS_VIEW
SETDepartmentName='
生产车间'
5'
3修改视图Employees_view中员工号为“000001”的员工的姓名为“王浩”。
UPDATEEmployees_view
SETName='
王浩'
WHEREEmployeeID='
4删除视图DS_VIEW中部门号为“1”的一行数据
DELETEFROMDS_VIEW
1'
(9)删除视图
删除视图DS_VIEW
DROPVIEWDS_VIEW
(10)在界面工具中操作视图
1创建视图:
启动“SQLServerManagementStudio”,在“对象资源管理器”中展开“数据库”,“YGGL”
选择其中的“视图”项,右击鼠标,在弹出的快捷菜单上选择“新建视图”菜单项。
在随后出现的添加表窗口中,添加所需要的关联的基本表。
在视图窗口的关系图窗口显示了基表的全部信息。
根据需要在窗口中选择创建视图需要的字段。
完成后单击“保存”按钮保存。
2查询视图:
新建一个查询,输入T-SQL查询命令即可和查询表一样查询视图。
3删除视图:
展开YGGL数据库,“视图”选择要删除的视图,右击选择“删除”选项,确认即可。
实验总结。
通过本次实验,我学会了SELECE语句的基本语法,子查询的表示,连接查询的表示,GROUP?
BY、ORDER?
BY语句的作用和使用方法,熟悉了视图的概念和作用,学会了视图的创建、查询和修改,通过实验我也体会到上机操作一定要谨慎认真。