资源预览内容
第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
第9页 / 共20页
第10页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
数据库的查询和视图实验(实习)报告数据库的查询和视图实验(实习)报告实验名称 数据库的查询和视图 实验日期 得分 指导教师 系 计算机系 年级专业班次 姓名 学号 一实验目的一实验目的掌握 SELECT 语句的基本语法; 掌握子查询的表示; 掌握连接查询的表示; 掌握 SELECT 语句的 GROUP BY 子句的作用和使用方法; 掌握 SELECT 语句的 ORDER BY 子句的作用和使用方法; 熟悉视图的概念和作用; 掌握视图的创建方法; 掌握如何查询和修改视图。二实验内容二实验内容(1)了解 SELECT 语句的基本语法格式; (2)了解 SELECT 语句的执行方法; (3)了解子查询的表示方法; (4)了解连接查询的表示; (5)了解 SELECT 语句的 GROUP BY 子句的作用与使用方法; (6)了解 SELECT 语句的 ORDER BY 子句的作用;(7)了解视图概念;(8)了解视图的创建方法;(9 了解并掌握对视图的操作。三实验步骤三实验步骤(1) SELECT 语句的基本使用。 1、对于实验 2 给出的数据库表结构,查询每个雇员的所有数据。 新建一个查询,在“查询分析器”窗口中输入如下语句并执行use YGGLgoselect *from Employees 2 用 select 语句查询 employees 表中每个雇员的地址和电话。 新建一个查询,在“查询分析器”窗口中输入如下语句并执行:use YGGLgoselect Address,PhoneNumberfrom Employees 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 姓名,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 Salary 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 DepartmentName =财务部)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 查找比所有财务部的雇员收入都要高的雇员的姓名。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 查询每个雇员的情况及其薪水的情况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 以上的雇员姓名及其薪水详情新建一个查询,在“查询分析器”窗口中输入如下的语句并执行: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 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(select 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 BYORDER 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 将各雇员的情况按收入由低到高排列新建一个查询,在“查询分析器”窗口中输入如下的语句并执行: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 语句:create 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 DepartmentNamefrom DS_VIEWWHERE DepartmentID=3 2 从视图 Employees_view 查询出姓名为“王林”的员工的实际收入。select RealIncomefrom Employees_viewWHERE 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” ,在“对象资源管理器”中展
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号