数据库的查询和视图实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库的查询和视图实验(实习)报告实验名称数据库的查询和视图实验日期得分指导教师
系计算机系年级专业班次姓名学号
一.实验目的
掌握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 YGGL
go
select*
from Employees
2用select语句查询employees表中每个雇员的地址和电话。新建一个查询,在“查询分析器”窗口中输入如下语句并执行:use YGGL
go
select Address,PhoneNumber
from Employees
3查询employeeID为000001的雇员的地址和电话。
use YGGL
go
select Address,PhoneNumber
from Employees
where EmployeeID='000001'
go
4查询employees表中女雇员的地址和电话,使用AS子句将结果中各列的标题分别指定为地址、电话。
use YGGL
go
select Address AS地址,PhoneNumber AS电话
from Employees
where Sex=0
go
5查询employees表中的员工姓名和性别,要求Sex的值为1时显示为‘“男”,为0时显示为“女”。select Name AS姓名,
CASE
when Sex=1 then'男'
when Sex=0 then'女'
end AS性别
from Employees
6计算每个雇员的实际收入。
use YGGL
go
select EmployeeID,实际收入=InCome-OutCome from Salary
7获得员工总数。
select COUNT(*)
from Employees
8找出所有姓王的雇员的部门号。
use YGGL
go
select DepartmentID
from Employees
where Name LIKE'王%'
9 找出所有收入在2000~3000之间的员工号码。select EmployeeID
from Salary
where InCome between 2000 and 3000
10 使用INTO子句,由表Salary创建“收入在1500以上的员工”表,包括编号和收入。use YGGL
go
select EmployeeID as编号,InCome as收入
INTO收入在以上的员工
from Salary
where InCome> 1500
(2)子查询的使用
1查找在财务部工作的雇员的情况。
use YGGL
go
select*
FROM Employees
where DepartmentID=
(
select DepartmentID
from Departments
where DepartmentName='财务部'
)
2 查找财务部年龄不低于研发部雇员年龄的的雇员的姓名。use YGGL
go
select Name
from Employees
where DepartmentID IN
(
select DepartmentID
from Departments
where DepartmentName='财务部'
)
AND
Birthday!>ALL
(
select Birthday
from Employees
where DepartmentID IN
(
select DepartmentID
from Departments
where DepartmentName='研发部'
)
)
3查找比所有财务部的雇员收入都要高的雇员的姓名。
use YGGL
go
select Name
from Employees
where EmployeeID IN
(
select EmployeeID
from Salary
where InCome>ALL
(
SELECT InCome
from Salary
where EmployeeID IN
(
select EmployeeID
from Employees
where DepartmentID=
(
select DepartmentID
from Departments
where DepartmentName='财务部'
)
)
)
)