SQL_Server实用教程(第三版)实验4_数据库的查询和视图

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四数据库的查询和视图

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语句的ORDERBY子句的作用;

3实验内容

SELECT语句的基本使用。

①对于实验2给出的数据库表结构,查询每个雇员的所有数据。

新建一个查询,在查询分析器中输入如下语句并执行:

USEYGGL

GO

SELECT *

FROM Employees

【思考与练习】用SELECT语句查询Departments和Salary表中所有的数据信息。

用SELECT语句查询Employees表中每个雇员的地址和电话。

新建一个查询,在查询分析器中输入如下语句并执行:

Use YGGL

GO

SELECT Address PhoneNumber

FROM Employees

【思考与练习】

a.用SELECT语句查询Deparments和Salary表的一列或若干列。

b.查询Employees表中的部门号和性别,要求使用DISTINCT消除重复行。

c.查询EmployeeID为000001的雇员的地址和电话。

Use YGGL

GO

SELECT Address PhoneNumber

FROM Employees

WHERE EmployeeID=’000001’

【思考与练习】

a.查询月收入高于2000元的员工号码。

b.查询1970年以后出生的员工的姓名和住址。

c.查询所有财务部的员工的号码和姓名。

查询Employees表中女雇员的地址和电话,使用AS子句将结果中各列的标

题分别指定为地址、电话。

USE YGGL

GO

SELECT Address AS 地址,PhoneNumber AS 电话

FROM Employees

WHERE Sex=0

【思考与练习】查询Employees表中男员工的姓名和出生日期,要求将各列标题用中文标示。

⑤查询Employees表中员工的姓名和性别,要求SEX值为时显示为“男”,为0时显示为“女”。

SELECTNameAS姓名,

CASE

WHENSex=1 THEN男

WHENSex=1 THEN女

END AS性别

FROMEmployees

【思考与练习】查询Employees员工的姓名、住址和收入水平,2000元以下显示低收入,2000-3000元显示为中等收入,3000元以上显示为高收入。

⑥计算每个雇员的实际收入

USE YGGL

GO

SELECT EployeeID,实际收入=income-OutCome

FROMSalary

【思考与练习】使用SELECT语句进行简单的计算。

⑦获得员工总数。

SELECTCOUNT(*)

FROMSalary

【思考与练习】

a.计算salary表中员工月收入的平均数。

b.获得Employees表中最大员工号码。

c.计算Salary表中所有员工的总支出。

d.查询财务部雇员的最高和最低实际收入。

⑧找出所有姓王的雇员的部门号。

USE YGGL

GO

SELECTDepartmentID

FROMEmployees

WHERENameLIKE王%

【思考与练习】

a.找出所有其地址中含有“中山”的雇员的号码及部门.

b.查找员工号码倒数第二个数字为0的员工的姓名、地址和学历。

⑨找出所有收入在2000-3000元之间的员工号码。

SELECT EmployeeID

from Salary

where InCome between 2000 and 3000

【思考与练习】找出所有在部门“1”或“2”工作的雇员的号码。

注意:了解在SELECT语句中LIKE、BETWEEN…AND、IN、NOT以及CONTAIN

谓词的作用。

⑩使用into子句,由表Salary创建“收入在1500元以上的员工”表,包括编号和

收入

USE YGGL

GO

select EmployeeID as 编号,Income as 收入

into 收入在1500元以上的员工

from Salary

where InCome>1500

【思考与练习】使用Into子句,由表Employees创建“男员工”表,包括编号和姓名。

(1)子查询的使用。

①查找在财务部工作的雇员的情况

USE YGGL

GO

select *

from Employees

where DepartmentID=

(

select DepartmentID from Departments

where DepartmentName='财务部'

)

【思考与练习】用子查询的方法查找所有收入在2500元以下的雇员的情况

②查找财务部年龄不低于研发部雇员年龄的雇员的姓名。

USE YGGL

GO

select Name

from Employees

where DepartmentID in

(select DepartmentID

from Departments

相关文档
最新文档