数据库的查询和视图实验报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数据库的查询和视图实验(实习)报告实验名称数据库的查询和视图实验日期得分指导教师系计算机系年级专业班次姓名学号一.实验目的掌握SELECT语句的基本语法;掌握子查询的表示;掌握连接查询的表示;掌握SELECT语句的GROUPBY子句的作用和使用方法;掌握SELECT语句的ORDERBY子句的作用和使用方法;熟悉视图的概念和作用;掌握视图的创建方法;掌握如何查询和修改视图。二.实验内容(1)了解SELECT语句的基本语法格式;(2)了解SELECT语句的执行方法;(3)了解子查询的表示方法;(4)了解连接查询的表示;(5)了解SELECT语句的GROUPBY子句的作用与使用方法;(6)了解SELECT语句的ORDERBY子句的作用;(7)了解视图概念;(8)了解视图的创建方法;(9了解并掌握对视图的操作。三.实验步骤(1)SELECT语句的基本使用。1、对于实验2给出的数据库表结构,查询每个雇员的所有数据。新建一个查询,在“查询分析器”窗口中输入如下语句并执行useYGGLgoselect*fromEmployees2用select语句查询employees表中每个雇员的地址和电话。新建一个查询,在“查询分析器”窗口中输入如下语句并执行:useYGGLgoselectAddress,PhoneNumberfromEmployees3查询employeeID为000001的雇员的地址和电话。useYGGLgoselectAddress,PhoneNumberfromEmployeeswhereEmployeeID='000001'go4查询employees表中女雇员的地址和电话,使用AS子句将结果中各列的标题分别指定为地址、电话。useYGGLgoselectAddressAS地址,PhoneNumberAS电话fromEmployeeswhereSex=0go5查询employees表中的员工姓名和性别,要求Sex的值为1时显示为‘“男”,为0时显示为“女”。selectNameAS姓名,CASEwhenSex=1then'男'whenSex=0then'女'endAS性别fromEmployees6计算每个雇员的实际收入。useYGGLgoselectEmployeeID,实际收入=InCome-OutComefromSalary7获得员工总数。selectCOUNT(*)fromEmployees8找出所有姓王的雇员的部门号。useYGGLgoselectDepartmentIDfromEmployeeswhereNameLIKE'王%'9找出所有收入在2000~3000之间的员工号码。selectEmployeeIDfromSalarywhereInComebetween2000and300010使用INTO子句,由表Salary创建“收入在1500以上的员工”表,包括编号和收入。useYGGLgoselectEmployeeIDas编号,InComeas收入INTO收入在以上的员工fromSalarywhereInCome1500(2)子查询的使用1查找在财务部工作的雇员的情况。useYGGLgoselect*FROMEmployeeswhereDepartmentID=(selectDepartmentIDfromDepartmentswhereDepartmentName='财务部')2查找财务部年龄不低于研发部雇员年龄的的雇员的姓名。useYGGLgoselectNamefromEmployeeswhereDepartmentIDIN(selectDepartmentIDfromDepartmentswhereDepartmentName='财务部')ANDBirthday!ALL(selectBirthdayfromEmployeeswhereDepartmentIDIN(selectDepartmentIDfromDepartmentswhereDepartmentName='研发部'))3查找比所有财务部的雇员收入都要高的雇员的姓名。useYGGLgoselectNamefromEmployeeswhereEmployeeIDIN(selectEmployeeIDfromSalarywhereInComeALL(SELECTInComefromSalarywhereEmployeeIDIN(selectEmployeeIDfromEmployeeswhereDepartmentID=(selectDepartmentIDfromDepartmentswhereDepartmentName='财务部'))))(3)连接查询的使用1查询每个雇员的情况及其薪水的情况useYGGLgoselectEmployees.*,Salary.*fromEmployees,SalarywhereEmployees.EmployeeID=Salary.EmployeeID2使用内连接的方法查询名字为“王林”的员工所在的部门。selectDepartmentNamefromDepartmentsJOINEmployeesONDepartments.DepartmentID=Employees.DepartmentIDwhereEmployees.Name='王林'3查找财务部收入在2000以上的雇员姓名及其薪水详情新建一个查询,在“查询分析器”窗口中输入如下的语句并执行:USEYGGLgoselectName,InCome,OutComefromEmployees,Salary,DepartmentswhereEmployees.EmployeeID=Salary.EmployeeIDANDEmployees.DepartmentID=Departments.DepartmentIDANDDepartmentName='财务部'ANDInCome2000(4)聚合函数的使用1求财务部雇员的平均收入新建一个查询,在“查询分析器”窗口中输入如下的语句并执行:USEYGGLgoselectAVG(InCome)AS'财务部平均收入'FROMSalaryWHEREEmployeeIDin(selectEmployeeIDfromEmployeeswhereDepartmentID=(selectDepartmentIDfromDepartmentswhereDepartmentName='财务部'))2求财务部雇员的平均实际收入新建一个查询,在“查询分析器”窗口中输入如下的语句并执行:USEYGGLgoselectAVG(InCome-OutCome)AS'财务部平均收入'FROMSalaryWHEREEmployeeIDin(selectEmployeeIDfromEmployeeswhereDepartmentID=(selectDepartmentIDfromDepartmentswhereDepartmentName='财务部'))3求财务部雇员总人数。新建一个查询,在“查询分析器”窗口中输入如下的语句并执行:USEYGGLgoselectCOUNT(EmployeeID)FROMEmployeesWHEREDepartmentID=(SELECTDepartmentIDFROMDepartmentsWHEREDepartmentName='财务部')(5)GROUPBY\ORDERBY子句的使用1查找Employees表中的男性和女性的人数。selectSex,COUNT(Sex)fromEmployeesGROUPBYSex;2查找员工数超过2人的部门名称和员工数量。selectEmployees.DepartmentID,COUNT(*)AS人数fromEmployees,DepartmentswhereEmployees.DepartmentID=Departments.DepartmentIDGROUPBYEmployees.DepartmentIDHAVINGCOUNT(*)23将各雇员的情况按收入由低到高排列新建一个查询,在“查询分析器”窗口中输入如下的语句并执行:useYGGLgoselectEmployees.*,Salary.*fromEmployees,SalarywhereEmployees.EmployeeID=Salary.EmployeeIDORDERBYInCome(6)创建视图1创建YGGL数据库上的视图DS_VIEW,视图包含Departments表的全部列。createVIEWDS_VIEWASSELECT*FROMDepartments2创建YGGL数据库上的视图Employees_view,视图包含员工号码、姓名和实际收入三列。使用如下SQL语句:createVIEWEmployees_view(EmployeeID,Name,RealIncome)ASSELECTEmployees.EmployeeID,Name,InCome-OutComefromEmployees,SalarywhereEmployees.EmployeeID=Salary.EmployeeID(7)查询视图1从视图DS_VIEW中查询出部门号为3的部门名称selectDepartmentNamefromDS_VIEWWHEREDepartmentID='3'2从视图Employees_view查询出姓名为“王林”的员工的实际收入。selectRealIncomefromEmployees_viewWHEREName='王林'(8)更新视图。1向视图DS_VIEW中插入一行数据:“6,广告部,广告业务”。INSERTINTODS_VIEWVALUES('6','广告部','广告业务')2修改视图DS_VIEW,将部门号为5的部门名称修改为“生产车间”。UPDATEDS_VIEWSETDepartmentName='生产车间'WHEREDepartmentID='5'3修改视图Employees_view中员工号为“000001”的员工的姓名为“王浩”。UPDATEEmployees_viewSETName='王浩'WHEREEmployeeID='000001'4删除视图DS_VIEW中部门号为“1”的一行数据DELETEFROMDS_VIEWWHEREDepartmentID='1'(9)删除视图删除视图DS_VIEWDROPVIEWDS_VIEW(10)在界面工具中操作视图1创建视图:启动“SQLServerManagementStudio”,在“对象资源管理器”中展开“数据库”,“YGGL”选择其中的“视图”项,右击鼠标,在弹出的快捷菜单上选择“新建视图”菜单项。在随后出现的添加表窗口中,添加所需要的关联的基本表。在视图窗口的关系图窗口显示了基表的全部信息。根据需要在窗口中选择创建视图需要的字段。完成后单击“保存”按钮保存。2查询视图:新建一个查询,输入T-SQL查询命令即可和查询表一样查询视图。3删除视图:展开YGGL数据库,“视图”选择要删除的视图,右击选择“删除”选项,确认即可。实验总结。通过本次实验,我学会了SELECE语句的基本语法,子查询的表示,连接查询的表示,GROUPBY、ORDERBY语句的作用和使用方法,熟悉了视图的概念和作用,学会了视图的创建、查询和修改,通过实验我也体会到上机操作一定要谨慎认真。

1 / 20
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功