1、教师签名:年 月 日洛阳师范学院信息技术学院软件实验报告专业: 电子商务 课程:_SQL server 实用教程_ _学号:_121144063_姓名:_姚玉龙_班级:_12级电子商务_实验名称数据库的查询和视图实验类型验证型实验时间2014-5-8实验环境Windows 2003 Microsoft SQL Server实验目的与要求:数据库的查询(1)掌握select语句的基本语法;(2)掌握子查询的表示(3)掌握连接查询的表示(4)掌握select语句的group by子句的作用和使用方法(5)掌握select语句的order by子句的作用和使用方法视图的使用(1) 熟悉视图的概念和作
2、用;(2) 掌握视图的创建方法;(3) 掌握如何让查询和修改视图。实验内容:4.1 数据库的查询1 实验准备(1)了解SELECT语句的基本语法格式;(2)了解SELECT语句的执行方法;(3)了解子查询的表示方法;(4)了解连接查询的表示;(5)了解SELECT语句的GROUPBY子句的作用和使用方法;(6)了解SELECT语句的ORDER子句的作用;2实验内容(1)语句的基本使用。对于实验给出的数据库表结构,查询每个雇员的所有数据。新建一个查询,在查询分析器中输入如下语句并执行:GOSELECT* FROM用SELECT语句查询Employees表中每个雇员的地址和电话。Use YGGLS
3、ELECT Address PhoneNumber FROM Employees查询EmployeeID为000001的雇员的地址和电话。WHERE EmployeeID=000001查询Employees表中女雇员的地址和电话,使用AS子句将结果中各列的标题分别指定为地址、电话。USE YGGLSELECT Address AS 地址,PhoneNumber AS 电话WHERE Sex=0查询Employees表中员工的姓名和性别,要求SEX值为时显示为“男”,为0时显示为“女”。SELECT姓名,Sex=1 THEN男Sex=1 THEN女END 性别 Employees 计算每个雇员的
4、实际收入SELECT EployeeID,实际收入=income-OutCome FROM获得员工总数。()FROM找出所有姓王的雇员的部门号。SE王找出所有收入在元之间的员工号码。SELECT EmployeeID from Salary where InCome between 2000 and 3000使用into子句,由表Salary创建“收入在1500元以上的员工”表,包括编号和收入 select EmployeeID as 编号,Income as 收入into 收入在1500元以上的员工 where InCome1500(2) 子查询的使用。查找在财务部工作的雇员的情况selec
5、t * from Employeeswhere DepartmentID= ( select DepartmentID from Departments where DepartmentName=财务部 )查找财务部年龄不低于研发部雇员年龄的雇员的姓名。select Name where DepartmentID in (select DepartmentID from Departments and Birthday!all (select Birthday where DepartmentID in(select DepartmentID from Departments研发部查找比所有财
6、务部的雇员收入都高的雇员的姓名。Select Name from Employees where EmployeeID in (select EmployeeID from Salary where InCome (select InCome from Salary (select EmployeeID from Employees where DepartmentID= (select DepartmentID from Departments(3)连接查询的使用。 查询每个雇员的情况及其薪水的情况。select Employees.*,Salary.* from Employees,Sal
7、ary where Employees.EmployeeID=Salary.EmployeeID使用内连接的方法查询名字为“王林”的员工所在的部门select DepartmentName from DepartmentsJoin Employees on Departments.DepartmentID=Employees.DepartmentIDwhere Employees.Name=王林 查找财务部收入在2000元以上的雇员姓名及其薪水详情。新建一个查询,在查询分析器中输入如下语句并执行。select Name,Income,Outcomefrom Employees,Salary,D
8、epartmentswhere Employees.EmployeeID=Salary.EmployeeIDand Employees.DepartmentID=Departments.DepartmentIDand DepartmentName=and Income2000(4) 聚合函数的使用。1.求财务部雇员的平均收入select AVG(Income) as 财务部平均收入 where EmployeeID in select EmployeeID select DepartmentID )3.求财务部的平均实际收入新建一个查询,在查询分析其中输入如下语句并执行。select avg(
9、Income-Outcome) as 财务部平均实际收入求财务部雇员的总人数select COUNT(EmployeeID) from Employees(5)GROUP BY、ORDER BY子句的使用:查找Employees表中男性和女性的人数select Sex,COUNT(Sex) group by Sex;查找员工数超过2的部门名称和员工数量。select Employees.DepartmentID,COUNT (*) as 人数from Employees,DepartmentsWHERE Employees.DepartmentID=Departments.Department
10、IDgroup by Employees.DepartmentIDhaving COUNT(*)2 将各雇员的情况按收入由低到高排列。 order by InCome4.2视图的使用() 了解视图的概念;() 了解创建视图的方法;() 了解并掌握对视图的操作。2. 实验内容() 创建视图。() 创建YGGL数据库上的视图DS_VIEW,视图包含Departments表的全部列。CREATE VIEW DS_VIEWAS SELECT*FROM Departments创建YGGL数据库上的视图Employees-view,视图包含“员工号码”、“姓名”、“实际收入”三列。使用如下SQL语句:CREATE VIEW Employees_view(EmployeeID,Name,realIncome)ASSELECT Employees.EmployeeID,Name,Income-OutC