当前位置: 首页 > 图文教程 > 网络编程 > ASP > SQL数据操作基础(初级) 3

ASP
提高SQL的执行效率的ASP的五种做法
asp的offset的一个go to page
asp中command的在单条记录时,有些字段显示为空的问题
asp,php一句话木马整理方便查找木马
asp 合并记录集并删除的sql语句
asp下循环一行多少个
asp循环行数输出函数
asp access重新开始编号
ASP生成数字相加求和的BMP图片验证码
静态页面利用JS读取cookies记住用户信息
比较详细的Asp伪静态化方法及Asp静态化探讨
asp Response.flush 实时显示进度
Asp高级故障解决以及相关代码
asp智能脏话过滤系统v1.0
ASP文件中的安全问题
Access数据库中“所有记录中均未找到搜索关键字”的解决方法
asp两组字符串数据比较合并相同数据
asp MYSQL出现问号乱码的解决方法
asp文章中随机插入网站版权文字的实现代码
ASP利用XMLHTTP实现表单提交以及cookies的发送的代码

ASP 中的 SQL数据操作基础(初级) 3


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 153 ::
收藏到网摘: n/a

  操作字段

通常,当你从一个表中取出字段值时,该值与创建该表时所定义的字段名联系在一起。如果你从表authors中选择所有的作者名
字,所有的值将会与字段名au_lname相联系。但是在某些情况下,你需要对字段名进行操作。在SELECT语句中,你可以在缺省字段
名后面仅跟一个新名字来取代它。例如,可以用一个更直观易读的名字Author Last Name来代替字段名au_lname:

SELECT au_lname "Author Last Name" FROM authors

当这个SELECT语句执行时,来自字段au_lname的值会与“Author Last Name”相联系。查询结果可能是这样:

Author Last Name

……………………………………………………………………..

White

Green

Carson

O’Leary

Straight



(23 row(s) affected)

注意字段标题不再是au_lname,而是被Author Last Name所取代。

你也可以通过执行运算,来操作从一个表返回的字段值。例如,如果你想把表titles中的所有书的价格加倍,你可以使用下面的
SELECT语句:

SELECT price*2 FROM titles

当这个查询执行时,每本书的价格从表中取出时都会加倍。但是,通过这种途径操作字段不会改变存储在表中的书价。对字段的运
算只会影响SELECT语句的输出,而不会影响表中的数据。为了同时显示书的原始价格和涨价后的新价格,你可以使用下面的查询:

SELECT price "Original price", price*2 "New price" FROM titles

当数据从表titles中取出时,原始价格显示在标题Original price下面,加倍后的价格显示在标题New price下面。结果可能是这
样:

original price new price

……………………………………………………………….

39.98
11.95 23.90

5.98
39.98


(18 row(s) affected)

你可以使用大多数标准的数学运算符来操作字段值,如加(+),减(-),乘(*)和除(/)。你也可以一次对多个字段进行运
算,例如:

SELECT price*ytd_sales "total revenue" FROM titles

在这个例子中,通过把价格与销售量相乘,计算出了每种书的总销售额。这个SELECT语句的结果将是这样的:

total revenue

……………………………………………..

81,859,05

46,318,20

55,978,78

81,859,05

40,619,68



(18 row(s) affected)

最后,你还可以使用连接运算符(它看起来像个加号)来连接两个字符型字段:

SELECT au_fname+" "+au_lname "author name" FROM authors

在这个例子中,你把字段au_fname和字段au_lname粘贴在一起,中间用一个逗号 隔开,并把查询结果的标题指定为author
name。这个语句的执行结果将是这样的:

author names

…………………………………………………………

Johnson White

Marjorie Green

Cheryl Carson

Michael O’Leary

Dean Straight



(23 row(s) affected)

可以看到,SQL为你提供了对查询结果的许多控制。你应该在ASP编程过程中充分利用这些优点。使用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