1 / 33
文档名称:

SQL Server 课件-第6章 SQL Server 2000 的数据查询.ppt

格式:ppt   页数:33
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

SQL Server 课件-第6章 SQL Server 2000 的数据查询.ppt

上传人:3346389411 2013/3/24 文件大小:0 KB

下载得到文件列表

SQL Server 课件-第6章 SQL Server 2000 的数据查询.ppt

文档介绍

文档介绍:简单查询
连接查询
子查询
联合查询
案例4:活期储蓄管理系统
数据库上的一般操作
11/13/2017
简单查询
Transact-SQL的SELECT语句从一个或者多个表或视图中检索记录,使用查询分析器输入一条SELECT语句,查询情况将在结果窗口中显示。可以编辑或打印这些结果,并且把它们保存在非数据库文件中。
指定TOP关键字
SQL Server 2000 使用了TOP 关键字,用于查询时只显示前面几行数据。当SELECT语句检索出来的记录非常多,且又无须显示全部记录时,可使用TOP关键字来减少查询时间,提高查询效率。
使用TOP关键字的语法如下:
SELECT [TOP integer | TOP integer PERCENT][WITH TIES]
<目标列表达式>[,<目标列表达式>][1…n]
FROM <表名> ;
11/13/2017
【例6-1】从MyDb数据库的图书信息表(books)中返回前面5行记录,显示两列:书名、作者。
SELECT TOP 5 书名, 作者
FROM books
【例6-2】从MyDb数据库的books表中返回前面20%的记录,显示三列:书名、作者、定价。
SELECT TOP 20 PERCENT 书名,作者,定价
FROM books
【例6-3】从读者信息表(readers)中返回前面2条记录,按已借数量降序排列,使用WITH TIES选项。
SELECT TOP 2 WITH TIES *
FROM readers
ORDER BY 已借数量 DESC
11/13/2017
重新指定查询的列标题
【例6-4】查询读者借阅状况表中读者编号、读者姓名及可以借阅的数量。
SELECT ‘读者号’=读者编号,‘读者姓名’=姓名,
‘可借阅数量’=限借数量-已借数量
FROM 读者借阅状况表
可以写成如下形式:
SELECT 读者编号 AS ‘读者号’, 姓名 AS ’读者姓名’,
限借数量-已借数量 AS ‘可借阅数量’
FROM 读者借阅状况表
11/13/2017
使用INTO子句
Transact-SQL提供了一个扩展特性,允许用户使用SELECT语句查询得到的结果记录来创建一个新数据表,创建新表使用INTO子句。
【例6-5】使用INTO子句创建一个新表,存放books中书名和作者两列。
SELECT 书名, 作者
INTO 图书临时表
FROM books
11/13/2017
LIKE子句中的通配符
在大多数情况下,LIKE子句与通配符配合使用,以满足复杂的查询条件。SQL Server提供了4种通配符,百分号、下划线、[] 和字符^。
【例6-6】查询所有满足读者编号以2004开头的readers的记录。
SELECT * FROM readers
WHERE 编号 LIKE ‘2004%’
【例6-7】将查询范围限定在第10个字符为“3”、“6”中的一个。
SELECT * FROM readers
WHERE 编号 LIKE ‘2004_____[36]’
11/13/2017
【例6-8】查询借阅信息表(borrowinf)中图书编号以A到F的字符开头的所有借阅者信息。
SELECT * FROM borrowinf
WHERE 图书编号 LIKE ‘[A-F]%’
【例6-9】查找books中编号不是G到Z打头的所有记录。
SELECT * FROM books
WHERE 编号 LIKE ‘[^G-Z]%’
11/13/2017
连接查询
Transact-SQL提供了连接操作符JOIN,用于从两张或多张数据表的连接中获取数据。两张表之间的连接可以有以下几种不同的方式:
内连接[INNER] JOIN
外连接 LEFT [OUTER] JOIN
RIGHT [OUTER] JOIN
FULL [OUTER] JOIN
自连接[INNER] JOIN
交叉连接 CROSS JOIN
11/13/2017
内连接
在内连接中,可以使用等号“=”作为比较运算符,此时称作等值连接;也可以使用不等比较运算符,此时为不等值连接。
等值连接
【例6-10】查询每个读者的详细信息包括读者信息以及借阅图书信息,允许有重复列。
SELECT readers.*, borrowinf.* FROM readers
INNER JOIN borrowinf ON =