数据库的查询和视图_第1页
数据库的查询和视图_第2页
数据库的查询和视图_第3页
数据库的查询和视图_第4页
数据库的查询和视图_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-. z.实验四数据库的查询和视图T4.1 数据库的查询1.目的与要求(1)掌握select语句的根本语法;(2)掌握子查询的表示(3)掌握连接查询的表示(4)掌握select语句的group by子句的作用和使用方法(5)掌握select语句的order by子句的作用和使用方法2 实验准备1了解SELECT语句的根本语法格式;2了解SELECT语句的执行方法;3了解子查询的表示方法;4了解连接查询的表示;5了解SELECT语句的GROUPBY子句的作用和使用方法;6了解SELECT语句的ORDER子句的作用;3实验容语句的根本使用。对于实验给出的数据库表构造,查询每个雇员的所有数据。新建一

2、个查询,在查询分析器中输入如下语句并执行:GOSELECT* FROM【思考与练习】用SELECT语句查询Departments和Salary表中所有的数据信息。用SELECT语句查询Employees表中每个雇员的地址和。【思考与练习】用SELECT语句查询Deparments和Salary表的一列或假设干列。查询Employees表中的部门号和性别,要求使用DISTINCT消除重复行。查询EmployeeID为000001的雇员的地址和。【思考与练习】查询月收入高于2000元的员工。查询1970年以后出生的员工的和住址。查询所有财务部的员工的和。d查询Employees表中女雇员的地址和,

3、使用AS子句将结果中各列的标题分别指定为地址、。【思考与练习】使用语句进展简单的计算。获得员工总数。【思考与练习】计算表中员工月收入的平均数。获得表中最大员工。计算表中所有员工的总支出。查询财务部雇员的最高和最低实际收入。USE YGGL SELECT MA*(Ine-Oute) AS 最高实际收入, MIN(Ine-Oute) AS 最低实际收入FROM SalaryGO 找出所有姓王的雇员的部门号。USE YGGLSELECT DepartmentID FROM Employees WHERE Name LIKE 王% Go 【思考与练习】找出所有其地址中含有的雇员的及部门USE YGGL

4、 SELECT ,EmployeeID,DepartmentID FROM EmployeesWHERE Address LIKE GO查找员工倒数第二个数字为的员工的、地址和学历。USE YGGL SELECTName,Address,EducationFROM EmployeesWHERE EmployeeID=LIKE %0_GO 找出所有收入在元之间的员工。子查询的使用。查找在财务部工作的雇员的情况USE YGGLGOselect * from Employeeswhere DepartmentID= ( select DepartmentID from Departments whe

5、re DepartmentName=财务部 )【思考与练习】用子查询的方法查找所有收入在2500元以下的雇员的情况查找财务部年龄不低于研发部雇员年龄的雇员的。【思考与练习】查询每个雇员的情况及其工作部门的情况。使用连接的方法查询名字为王林的员工所在的部门select DepartmentName from DepartmentsJoin Employees on Departments.DepartmentID=Employees.DepartmentIDwhere Employees.Name=王林【思考与练习】使用连接的方法查找出不在财务部工作的所有员工信息。使用外连接方法查找出所有员工的

6、月收入。查找财务部收入在2000元以上的雇员及其薪水详情。USE YGGL【思考与练习】查询研发部在1976以前出生的雇员及其薪水详情。聚合函数的使用。1.求财务部雇员的平均收入新建一个查询,在查询分析器中输入如下语句并执行。USE YGGLGOselect AVG(Ine) as 财务部平均收入 from Salarywhere EmployeeID in (select EmployeeID from Employeeswhere DepartmentID= (select DepartmentID from Departments where DepartmentName=财务部 )【思

7、考与练习】3.求财务部的平均实际收入【思考与练习】求财务部雇员的总人数5GROUP BY、ORDER BY子句的使用:查找Employees表中男性和女性的人数select Se*,COUNT(Se*) from Employeesgroup by Se*;【思考与练习】按部门列出在该部门工作的员工的人数。USE YGGLSELECT DepartmentID,COUNT(DepartmentID)AS人数FROM Employees GROUPBY DepartmentID按员工的学历分组,排列出本科、大专和硕士的人数。USE YGGLSELECT Education AS学历,COUNT(

8、Education)AS人数FROM Employees GROUPBY Education查找员工数超过2的部门名称和员工数量。【思考与练习】将各雇员的情况按收入由低到高排列。USE YGGL SELECT*FROM Employees ORDERBY IneGOT4.2视图的使用目的和要求熟悉视图的概念和作用;掌握视图的创立方法;掌握如何让查询和修改视图。实验准备了解视图的概念;了解创立视图的方法;了解并掌握对视图的操作。实验容创立视图。创立YGGL数据库上的视图DS_VIEW,视图包含Departments表的全部列。CREATE VIEW DS_VIEWAS SELECT*FROM D

9、epartments创立YGGL数据库上的视图Employees-view,视图包含员工、实际收入三列。使用如下SQL语句:CREATE VIEW Employees_viewEmployeeID,Name,realIneASSELECT Employees.EmployeeID,Name,Ine-OuteFROM Employees,salaryWHERE Employees.EmployeeID=salary.EmployeeID【思考与练习】在创立视图时SELECT语句有那些限制?不能使用PUTE或者PUTEBY子句;除非和TOP子句一起使用,否则,不能使用ORDERBY子句;不能使用I

10、NTO关键字;不能使用OPTION子句;不能引用临时表和表变量。再创立视图时有哪些注意点?1.在CREATE VIEW语句中,不能包括ORDER BY,PUTE或者PUTE BY 子句也不能出现INTO关键字2.创立视图所参考基表的列数最多为1024列3.创立视图不能参考临时表4.尽量防止使用外连接创立视图5.在一个批处理语句中,CREATE VIEW 语句不能和其他TRANSACT-SQL语句混合使用创立视图,包含员工、所在部门名称和实际收入这几列。CREATEVIEWEmployees_View(EmployeeID,Name,DepartmentName,RealIne)ASSELECT

11、 Departments.DepartmentID,name,DepartmentName,Ine-Oute as RealIne FROM Employees,Departments,Salary where Departments.DepartmentID =Employees.DepartmentID and Employees.EmployeeID =Salary.EmployeeID2查询视图:从视图DS_VIEW中查询出部门号为3的部门名称。select DepartmentName from DS_viewwhere DepartmentID=3从视图Employees_view

12、中查询出为王林的员工的实际收入select RealIne from Employees_viewwhere Name=王林【思考与练习】a假设视图关联了*表中的所有字段,而此时刻表中添加了新的字段,视图中能否查询到该字段?不能,必须重新创立视图才能查询到新字段。b自己创立一个视图,并查询视图中的字段。SELECT*FROM Employees_ViewWHERE EmployeeID = 13更新视图。在更新视图前需要了解可更新视图的概念,了解什么视图是不可以进展修改的。更新视图真正更新的是和视图关联的表。向视图DS_VIEW中插入一行数据6,广告部,广告业务insert into DS_V

13、IEW values(6,广告部,广告业务)执行完该命令,使用SELECT语句分别查看视图DS_VIEW和根本表Departments中发生的变化。尝试向视图Employees_view中插入一行数据看看会发生什么情况。修改视图DS_VIEW,将部门号为5的部门名称修改为生产车间update DS_VIEW set DepartmentName=生产车间where DepartmentID=5执行完该命令,使用SELECT语句分别查看视图DS_VIEW和根本表Departments中发生的变化。将视图Employees_view中员工号为000001的员工的修改为王浩update Employ

14、ees_viewset Name=王浩where EmployeeID=000001删除视图DS_VIEW中部门号为1的一行数据delect from DS_VIEWwhere DepartmentID=1【思考与练习】视图Employees_view中无法插入和删除数据,其中的realine字段也无法修改,为什么?因为视图employees-view中的字段realine是根本表列通过计算所得的列,所以无法修改。(4)删除视图删除视图DS_VIEW.drop VIEW DS_VIEW5在界面工具中操作视图创立视图:启动SQL Server Management Studio,在对象资源管理器中展开数据库YGGL选择其中的视图项,右击鼠标,在弹出的快捷菜单上选择新建视图菜单项,在随后出现的添加表窗口中,添加所需关联的根本表。在视图窗口中的关系图窗口显示基表的全部信息。根据需要在窗口中选择创立视图所需的字段。完成后单击保存按钮保存。查询视图:新建一个查询,输入T-SQL查询命令即可像查询表一样查询视图。删除视图:展开YGGL数据库视图,选择要删除的视图,右击选择删除选项,确认即可。思考与练习总结视图与根本表的差异。1、视图是已经编译好的sql语句;而表不是。2、视图没有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论