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

下载本文档

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

文档简介

1、数据库的查询和视图实验(实习)报告实验名称 数据库的查询和视图 实验日期 得分 指导教师 系 计算机系 年级专业班次 姓名 学号 一实验目的掌握SELECT语句的基本语法;掌握子查询的表示;掌握连接查询的表示;掌握SELECT语句的GROUP BY子句的作用和使用方法;掌握SELECT语句的ORDER BY子句的作用和使用方法;熟悉视图的概念和作用;掌握视图的创建方法;掌握如何查询和修改视图。二实验内容(1) 了解SELECT语句的基本语法格式; (2) 了解SELECT语句的执行方法; (3)了解子查询的表示方法; (4)了解连接查询的表示; (5)了解SELECT语句的GROUP BY子句

2、的作用与使用方法; (6)了解SELECT语句的ORDER BY子句的作用;(7)了解视图概念;(8)了解视图的创建方法;(9了解并掌握对视图的操作。三实验步骤(1) SELECT语句的基本使用。1、 对于实验2给出的数据库表结构,查询每个雇员的所有数据。新建一个查询,在“查询分析器”窗口中输入如下语句并执行use YGGLgoselect *from Employees 2用select语句查询employees表中每个雇员的地址和电话。新建一个查询,在“查询分析器”窗口中输入如下语句并执行:use YGGLgoselect Address,PhoneNumberfrom Employees

3、 3查询employeeID为000001的雇员的地址和电话。use YGGLgoselect Address,PhoneNumberfrom Employeeswhere EmployeeID =000001go4查询employees表中女雇员的地址和电话,使用AS子句将结果中各列的标题分别指定为地址、电话。use YGGLgoselect Address AS 地址,PhoneNumber AS 电话from Employeeswhere Sex=0go5查询employees表中的员工姓名和性别,要求Sex的值为1时显示为“男”,为0时显示为“女”。select Name AS 姓名,

4、CASEwhen Sex=1 then 男when Sex=0 then 女end AS 性别from Employees 6计算每个雇员的实际收入。use YGGL goselect EmployeeID,实际收入=InCome-OutComefrom Salary 7获得员工总数。select COUNT (*)from Employees 8找出所有姓王的雇员的部门号。use YGGL goselect DepartmentIDfrom Employees where Name LIKE王%9 找出所有收入在20003000之间的员工号码。select EmployeeIDfrom Sa

5、lary where InCome between 2000 and 300010 使用INTO子句,由表Salary创建“收入在1500以上的员工”表,包括编号和收入。use YGGL goselect EmployeeID as 编号,InCome as 收入INTO 收入在以上的员工from Salary where InCome 1500(2) 子查询的使用1查找在财务部工作的雇员的情况。use YGGL goselect *FROM Employees where DepartmentID =(select DepartmentID from Departments where De

6、partmentName =财务部)2 查找财务部年龄不低于研发部雇员年龄的的雇员的姓名。use YGGL goselect Namefrom Employees where DepartmentID IN(select DepartmentID from Departments where DepartmentName=财务部)ANDBirthday !ALL(select Birthday from Employees where DepartmentID IN(select DepartmentID from Departments where DepartmentName=研发部)3查

7、找比所有财务部的雇员收入都要高的雇员的姓名。use YGGL goselect Namefrom Employees where EmployeeID IN(select EmployeeID from Salary where InComeALL(SELECT InCome from Salary where EmployeeID IN(select EmployeeID from Employees where DepartmentID =(select DepartmentID from Departments where DepartmentName=财务部)(3) 连接查询的使用1

8、查询每个雇员的情况及其薪水的情况use YGGL goselect Employees.*,Salary.*from Employees ,Salary where Employees.EmployeeID=Salary.EmployeeID 2使用内连接的方法查询名字为“王林”的员工所在的部门。select DepartmentNamefrom Departments JOIN Employees ON Departments.DepartmentID=Employees.DepartmentIDwhere Employees.Name=王林3 查找财务部收入在2000以上的雇员姓名及其薪水

9、详情新建一个查询,在“查询分析器”窗口中输入如下的语句并执行:USE YGGL goselect Name, InCome, OutComefrom Employees ,Salary ,Departments where Employees.EmployeeID=Salary.EmployeeIDAND Employees.DepartmentID=Departments.DepartmentIDAND DepartmentName=财务部AND InCome 2000(4) 聚合函数的使用1 求财务部雇员的平均收入新建一个查询,在“查询分析器”窗口中输入如下的语句并执行:USE YGGL

10、goselect AVG(InCome)AS财务部平均收入FROM Salary WHERE EmployeeID in(select EmployeeIDfrom Employees where DepartmentID =(select DepartmentID from Departments where DepartmentName=财务部)2求财务部雇员的平均实际收入新建一个查询,在“查询分析器”窗口中输入如下的语句并执行:USE YGGL goselect AVG(InCome-OutCome)AS财务部平均收入FROM Salary WHERE EmployeeID in(sel

11、ect EmployeeIDfrom Employees where DepartmentID =(select DepartmentID from Departments where DepartmentName=财务部)3求财务部雇员总人数。新建一个查询,在“查询分析器”窗口中输入如下的语句并执行:USE YGGL goselect COUNT(EmployeeID)FROM Employees WHERE DepartmentID =(SELECT DepartmentID FROM Departments WHERE DepartmentName=财务部)(5) GROUP BYORD

12、ER BY子句的使用1查找Employees 表中的男性和女性的人数。select Sex,COUNT(Sex)from Employees GROUP BY Sex;2查找员工数超过2人的部门名称和员工数量。select Employees.DepartmentID,COUNT(*)AS 人数from Employees,Departments where Employees.DepartmentID=Departments.DepartmentIDGROUP BY Employees.DepartmentIDHAVING COUNT(*)23 将各雇员的情况按收入由低到高排列新建一个查询,

13、在“查询分析器”窗口中输入如下的语句并执行:use YGGL goselect Employees.*,Salary.*from Employees,Salarywhere Employees.EmployeeID=Salary.EmployeeIDORDER BY InCome (6) 创建视图1 创建YGGL数据库上的视图DS_VIEW,视图包含Departments表的全部列。create VIEW DS_VIEWAS SELECT* FROM Departments 2 创建YGGL数据库上的视图Employees_view,视图包含员工号码、姓名和实际收入三列。使用如下SQL语句:c

14、reate VIEW Employees_view(EmployeeID,Name,RealIncome)ASSELECT Employees.EmployeeID,Name,InCome-OutComefrom Employees ,Salary where Employees.EmployeeID=Salary.EmployeeID(7) 查询视图1 从视图DS_VIEW中查询出部门号为3的部门名称select DepartmentName from DS_VIEW WHERE DepartmentID=3 2 从视图Employees_view查询出姓名为“王林”的员工的实际收入。sel

15、ect RealIncome from Employees_view WHERE Name=王林 (8) 更新视图。1向视图DS_VIEW中插入一行数据:“6,广告部,广告业务”。INSERT INTO DS_VIEW VALUES(6,广告部,广告业务)2 修改视图DS_VIEW,将部门号为5的部门名称修改为“生产车间”。UPDATE DS_VIEW SET DepartmentName=生产车间WHERE DepartmentID=53 修改视图Employees_view中员工号为“000001”的员工的姓名为“王浩”。UPDATE Employees_view SET Name=王浩WHERE EmployeeID=0000014 删除视图DS_VIEW中部门号为“1”的一行数据DELETE FROM DS_VIEWWHERE DepartmentID=1(9) 删除视图删除视图DS_VIEWDROP VIEW DS_VIEW(10) 在界面工具中操作视图1 创建视图:启动“SQL Server Management Studio”,在“对象资源管理器”中展开“数据库”,“YGGL”选择其中的“视图”项,右击鼠标,在弹出的快捷菜单上选择“新建视图”菜单项。在随后出现的添加表窗口中,添加所需要的关联的基本表。在视图窗口的关系

温馨提示

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

评论

0/150

提交评论