⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 10-2-5.cfm.htm

📁 最全的ASP教程
💻 HTM
字号:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>排序查询结果</title>
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
</head>

<body>
<font FACE="宋体"><b>

<p ALIGN="JUSTIFY">排序查询结果</p>
</b></font><font FACE="宋体" SIZE="3">

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

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

<p ALIGN="JUSTIFY">au_lname</p>

<p ALIGN="JUSTIFY"></font><font SIZE="3">……………………………………</font><font
FACE="宋体" SIZE="3">.</p>

<p ALIGN="JUSTIFY">White</p>

<p ALIGN="JUSTIFY">Green</p>

<p ALIGN="JUSTIFY">Carson</p>

<p ALIGN="JUSTIFY">O</font><font SIZE="3">’</font><font FACE="宋体" SIZE="3">Leary</p>

<p ALIGN="JUSTIFY">Straight</p>

<p ALIGN="JUSTIFY"></font><font SIZE="3">…</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">(23 row(s) affected)</p>

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

<p ALIGN="JUSTIFY">SELECT au_lname FROM authors ORDER BY au_lname</p>

<p ALIGN="JUSTIFY">当这个SELECT语句执行时,作者名字的显示将按字母顺序排列。ORDER 
BY子句将作者名字按升序排列。</p>

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

<p ALIGN="JUSTIFY">SELECT au_lname,au_fname FROM authors ORDER BY au_lname ,au_fname</p>

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

<p ALIGN="JUSTIFY">au_lname au_fname</p>

<p ALIGN="JUSTIFY"></font><font SIZE="3">……………………………………………………………………</font><font
FACE="宋体" SIZE="3">.</p>

<p ALIGN="JUSTIFY">Bennet Abraham</p>

<p ALIGN="JUSTIFY">Ringer Albert</p>

<p ALIGN="JUSTIFY">Ringer Anne</p>

<p ALIGN="JUSTIFY">Smith Meander</p>

<p ALIGN="JUSTIFY"></font><font SIZE="3">…</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">(23 row(s) affected)</p>

<p ALIGN="JUSTIFY">注意有两个作者有相同的名字Ringer。名为Albert Ringer的作者出现名为Anne 
Ringer的作者之前,这是因为姓Albert按字母顺序应排在姓Anne之前。</p>

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

<p ALIGN="JUSTIFY">SELECT au_lname,au_fname FROM authors </p>

<p ALIGN="JUSTIFY">WHERE au_lname=</font><font SIZE="3">”</font><font FACE="宋体"
SIZE="3">Ringer</font><font SIZE="3">”</font><font FACE="宋体" SIZE="3"> ORDER BY 
au_lname ,au_fname DESC</p>

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

<p ALIGN="JUSTIFY">au_lname au_fname</p>

<p ALIGN="JUSTIFY"></font><font SIZE="3">………………………………………………………………………………………</font><font
FACE="宋体" SIZE="3">.</p>

<p ALIGN="JUSTIFY">Ringer Anne</p>

<p ALIGN="JUSTIFY">Ringer Albert</p>

<p ALIGN="JUSTIFY">(2 row(s) affectec)</p>

<p ALIGN="JUSTIFY">注意在这个表中,姓Anne出现在姓Albert之前。作者名字按降序显示。</p>

<p ALIGN="JUSTIFY">你也可以按数值型字段对一个查询结果进行排序。例如,如果你想按降序取出所有书的价格,你可以使用如下的SQL查询:</p>

<p ALIGN="JUSTIFY">SELECT price FROM titles ORDER BY price DESC</p>

<p ALIGN="JUSTIFY">这个SELECT语句从表中取出所有书的价格,显示结果时,价格低的书先显示,价格高的书后显示。</p>

<p ALIGN="JUSTIFY">警告</p>
<b>

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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -