教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

sql入门高级,SQL教程,数据库教程(4)

来源:网络收集 时间:2026-07-16
导读: 这些优点。使用SQL来操作查询结果几乎总是比使用有同样作用的脚本效率更高。 排序查询结果 本章的介绍中曾强调过,SQL表没有内在的顺序。例如,从一个表中取第二个记录是没有意义的。从SQL的角度看来,没有一个记录

这些优点。使用SQL来操作查询结果几乎总是比使用有同样作用的脚本效率更高。

排序查询结果

本章的介绍中曾强调过,SQL表没有内在的顺序。例如,从一个表中取第二个记录是没有意义的。从SQL的角度看来,没有一个记录在任何其他记录之前。

然而,你可以操纵一个SQL查询结果的顺序。在缺省情况下,当记录从表中取出时,记录不以特定的顺序出现。例如,当从表authors中取出字段au_lname时,查询结果显示成这样:

au_lname

……………………………………. White Green Carson O?Leary Straight …

(23 row(s) affected)

看一列没有特定顺序的名字是很不方便的。如果把这些名字按字母顺序排列,读起来就会容易得多。通过使用ORDER BY子句,你可以强制一个查询结果按升序排列,就像这样:

SELECT au_lname FROM authors ORDER BY au_lname

当这个SELECT语句执行时,作者名字的显示将按字母顺序排列。ORDER BY子句将作者名字按升序排列。

你也可以同时对多个列使用ORDER BY子句。例如,如果你想同时按升序显示字段au_lname和字段au_fname,你需要对两个字段都进行排序:

SELECT au_lname,au_fname FROM authors ORDER BY au_lname ,au_fname

这个查询首先把结果按au_lname字段进行排序,然后按字段au_fname排序。记录将按如下的顺序取出:

au_lname au_fname

……………………………………………………………………. Bennet Abraham Ringer Albert Ringer Anne Smith Meander …

(23 row(s) affected)

注意有两个作者有相同的名字Ringer。名为Albert Ringer的作者出现名为Anne Ringer

的作者之前,这是因为姓Albert按字母顺序应排在姓Anne之前。

如果你想把查询结果按相反的顺序排列,你可以使用关键字DESC。关键字DESC把查询结果按降序排列,如下例所示:

SELECT au_lname,au_fname FROM authors

WHERE au_lname=”Ringer” ORDER BY au_lname ,au_fname DESC

这个查询从表authors中取出所有名字为Ringer的作者记录。ORDER BY子句根据作者的名字和姓,将查询结果按降序排列。结果是这样的:

au_lname au_fname

………………………………………………………………………………………. Ringer Anne Ringer Albert (2 row(s) affectec)

注意在这个表中,姓Anne出现在姓Albert之前。作者名字按降序显示。 你也可以按数值型字段对一个查询结果进行排序。例如,如果你想按降序取出所有书的价格,你可以使用如下的SQL查询:

SELECT price FROM titles ORDER BY price DESC

这个SELECT语句从表中取出所有书的价格,显示结果时,价格低的书先显示,价格高的书后显示。

警告:

不是特别需要时,不要对查询结果进行排序,因为服务器完成这项工作要费些力气。这意味着带有ORDER BY 子句的SELECT语句执行起来比一般的SELECT语句花的时间长。

取出互不相同的记录

一个表有可能在同一列中有重复的值。例如,数据库pubs的表authors中有两个作者的名字是Ringer。如果你从这个表中取出所有的名字,名字Ringer将会显示两次。 在特定情况下,你可能只有兴趣从一个表中取出互不相同的值。如果一个字段有重复的值,你也许希望每个值只被选取一次,你可以使用关键字DISTINCT来做到这一点:

SELCET DISTINCT au_lname FROM authors WHERE au_lname=\

当这个SELECT语句执行时,只返回一个记录。通过在SELECT语句中包含关键字DISTINCT,你可以删除所有重复的值。例如,假设有一个关于新闻组信息发布的表,你想取出所有曾在这个新闻组中发布信息的人的名字,那么你可以使用关键字DISTINCT。每个用户的名字只取一次——尽管有的用户发布了不止一篇信息。 警告:

如同ORDER BY子句一样,强制服务器返回互不相同的值也会增加运行开销。福气不得 …… 此处隐藏:85字,全部文档内容请下载后查看。喜欢就下载吧 ……

sql入门高级,SQL教程,数据库教程(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/592843.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)