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

📄 438.html

📁 关于jsp的一些好文章 主要介绍一些关于JSP的应用技巧方面的东西
💻 HTML
字号:

<STYLE type=text/css>
<!--
body,td { font-size:9pt;}
hr { color: #000000; height: 1px}
-->
</STYLE>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD><TITLE>精选文章 >> SQL之家 >> SQL数据操作基础(初级) 3</title>
</head>
<body >

<p><IMG SRC="../image/jsp001_middle_logo.gif" WIDTH="180" HEIGHT="60" BORDER=0 ALT=""></p>

<table width=100% bgcolor="#cccccc" align=center cellpadding="2" cellspacing="0" border=1 bordercolorlight="#000000" bordercolordark="#FFFFFF">
<tr bgcolor="#EFF8FF"><td>
<a href=http://www.jsp001.com/list_thread.php?int_attribute=2>精选文章</a>
>> <a href=http://www.jsp001.com/list_thread.php?forumid=45&int_attribute=2>SQL之家</a>
>> SQL数据操作基础(初级) 3 [<a href=http://www.jsp001.com/forum/showthread.php?goto=newpost&threadid=438>查看别人的评论</a>]<br>

<hr><p>由 amtd 发布于: 2001-02-14 09:28</p><p><img src="images/icons/icon1.gif" alt="Post" border=0> </p><p><br><br>操作字段<br><br>通常,当你从一个表中取出字段值时,该值与创建该表时所定义的字段名联系在一起。如果你从表authors中选择所有的作者名<br>字,所有的值将会与字段名au_lname相联系。但是在某些情况下,你需要对字段名进行操作。在SELECT语句中,你可以在缺省字段<br>名后面仅跟一个新名字来取代它。例如,可以用一个更直观易读的名字Author Last Name来代替字段名au_lname:<br><br>SELECT au_lname "Author Last Name" FROM authors<br><br>当这个SELECT语句执行时,来自字段au_lname的值会与“Author Last Name”相联系。查询结果可能是这样:<br><br>Author Last Name <br><br>…………………………………………………………………….. <br><br>White<br><br>Green<br><br>Carson<br><br>O’Leary<br><br>Straight <br><br>…<br><br>(23 row(s) affected)<br><br>注意字段标题不再是au_lname,而是被Author Last Name所取代。<br><br>你也可以通过执行运算,来操作从一个表返回的字段值。例如,如果你想把表titles中的所有书的价格加倍,你可以使用下面的<br>SELECT语句:<br><br>SELECT price*2 FROM titles <br><br>当这个查询执行时,每本书的价格从表中取出时都会加倍。但是,通过这种途径操作字段不会改变存储在表中的书价。对字段的运<br>算只会影响SELECT语句的输出,而不会影响表中的数据。为了同时显示书的原始价格和涨价后的新价格,你可以使用下面的查询:<br><br>SELECT price "Original price", price*2 "New price" FROM titles<br><br>当数据从表titles中取出时,原始价格显示在标题Original price下面,加倍后的价格显示在标题New price下面。结果可能是这<br>样:<br><br>original price new price<br><br>……………………………………………………………….<br><br>39.98 <br>11.95 23.90 <br><br>5.98 <br>39.98 <br>…<br><br>(18 row(s) affected)<br><br>你可以使用大多数标准的数学运算符来操作字段值,如加(+),减(-),乘(*)和除(/)。你也可以一次对多个字段进行运<br>算,例如:<br><br>SELECT price*ytd_sales "total revenue" FROM titles<br><br>在这个例子中,通过把价格与销售量相乘,计算出了每种书的总销售额。这个SELECT语句的结果将是这样的:<br><br>total revenue<br><br>……………………………………………..<br><br>81,859,05<br><br>46,318,20<br><br>55,978,78<br><br>81,859,05<br><br>40,619,68<br><br>…<br><br>(18 row(s) affected)<br><br>最后,你还可以使用连接运算符(它看起来像个加号)来连接两个字符型字段:<br><br>SELECT au_fname+" "+au_lname "author name" FROM authors<br><br>在这个例子中,你把字段au_fname和字段au_lname粘贴在一起,中间用一个逗号 隔开,并把查询结果的标题指定为author <br>name。这个语句的执行结果将是这样的:<br><br>author names<br><br>…………………………………………………………<br><br>Johnson White<br><br>Marjorie Green<br><br>Cheryl Carson<br><br>Michael O’Leary<br><br>Dean Straight<br><br>…<br><br>(23 row(s) affected)<br><br>可以看到,SQL为你提供了对查询结果的许多控制。你应该在ASP编程过程中充分利用这些优点。使用SQL来操作查询结果几乎总是<br>比使用有同样作用的脚本效率更高。<br><br>排序查询结果<br><br>本章的介绍中曾强调过,SQL表没有内在的顺序。例如,从一个表中取第二个记录是没有意义的。从SQL的角度看来,没有一个记录<br>在任何其他记录之前。<br><br>然而,你可以操纵一个SQL查询结果的顺序。在缺省情况下,当记录从表中取出时,记录不以特定的顺序出现。例如,当从表<br>authors中取出字段au_lname时,查询结果显示成这样:<br><br>au_lname<br><br>…………………………………….<br><br>White<br><br>Green<br><br>Carson<br><br>O’Leary<br><br>Straight<br><br>…<br><br>(23 row(s) affected)<br><br>看一列没有特定顺序的名字是很不方便的。如果把这些名字按字母顺序排列,读起来就会容易得多。通过使用ORDER BY子句,你可<br>以强制一个查询结果按升序排列,就像这样:<br><br>SELECT au_lname FROM authors ORDER BY au_lname<br><br>当这个SELECT语句执行时,作者名字的显示将按字母顺序排列。ORDER BY子句将作者名字按升序排列。<br><br>你也可以同时对多个列使用ORDER BY子句。例如,如果你想同时按升序显示字段au_lname和字段au_fname,你需要对两个字段都<br>进行排序:<br><br>SELECT au_lname,au_fname FROM authors ORDER BY au_lname ,au_fname<br><br>这个查询首先把结果按au_lname字段进行排序,然后按字段au_fname排序。记录将按如下的顺序取出:<br><br>au_lname au_fname<br><br>…………………………………………………………………….<br><br>Bennet Abraham<br><br>Ringer Albert<br><br>Ringer Anne<br><br>Smith Meander<br><br>…<br><br>(23 row(s) affected)<br><br>注意有两个作者有相同的名字Ringer。名为Albert Ringer的作者出现名为Anne Ringer的作者之前,这是因为姓Albert按字母顺<br>序应排在姓Anne之前。<br><br>如果你想把查询结果按相反的顺序排列,你可以使用关键字DESC。关键字DESC把查询结果按降序排列,如下例所示:<br><br>SELECT au_lname,au_fname FROM authors <br><br>WHERE au_lname=”Ringer” ORDER BY au_lname ,au_fname DESC<br><br>这个查询从表authors中取出所有名字为Ringer的作者记录。ORDER BY子句根据作者的名字和姓,将查询结果按降序排列。结果是<br>这样的:<br><br>au_lname au_fname<br><br>……………………………………………………………………………………….<br><br>Ringer Anne<br><br>Ringer Albert<br><br>(2 row(s) affectec)<br><br>注意在这个表中,姓Anne出现在姓Albert之前。作者名字按降序显示。<br><br>你也可以按数值型字段对一个查询结果进行排序。例如,如果你想按降序取出所有书的价格,你可以使用如下的SQL查询:<br><br>SELECT price FROM titles ORDER BY price DESC<br><br>这个SELECT语句从表中取出所有书的价格,显示结果时,价格低的书先显示,价格高的书后显示。<br><br>警告:<br><br>不是特别需要时,不要对查询结果进行排序,因为服务器完成这项工作要费些力气。这意味着带有ORDER BY 子句的SELECT语句执<br>行起来比一般的SELECT语句花的时间长。<br><br>取出互不相同的记录<br><br>一个表有可能在同一列中有重复的值。例如,数据库pubs的表authors中有两个作者的名字是Ringer。如果你从这个表中取出所有<br>的名字,名字Ringer将会显示两次。<br><br>在特定情况下,你可能只有兴趣从一个表中取出互不相同的值。如果一个字段有重复的值,你也许希望每个值只被选取一次,你可<br>以使用关键字DISTINCT来做到这一点:<br><br>SELCET DISTINCT au_lname FROM authors WHERE au_lname="Ringer"<br><br>当这个SELECT语句执行时,只返回一个记录。通过在SELECT语句中包含关键字DISTINCT,你可以删除所有重复的值。例如,假设<br>有一个关于新闻组信息发布的表,你想取出所有曾在这个新闻组中发布信息的人的名字,那么你可以使用关键字DISTINCT。每个用<br>户的名字只取一次——尽管有的用户发布了不止一篇信息。<br><br>警告:<br><br>如同ORDER BY子句一样,强制服务器返回互不相同的值也会增加运行开销。福气不得不花费一些时间来完成这项工作。因此,不是<br>必须的时候不要使用关键字DISTINCT。<br><br>创建新表<br><br>前面说过,数据库中的所有数据存储在表中。数据表包括行和列。列决定了表中数据的类型。行包含了实际的数据。<br><br>例如,数据库pubs中的表authors有九个字段。其中的一个字段名为为au_lname,这个字段被用来存储作者的名字信息。每次向这<br>个表中添加新作者时,作者名字就被添加到这个字段,产生一条新记录。<br><br>通过定义字段,你可以创建一个新表。每个字段有一个名字和一个特定的数据类型(数据类型在后面的“字段类型”一节中讲<br>述),例如字段au_lname存储的是字符型数据。一个字段也可以存储其它类型的数据。<br><br>使用SQL Sever,创建一个新表的方法是很多的。你可以可执行一个SQL语句或使用SQL事务管理器(SQL Enterprise Manager)<br>来创建一个新表。在下一节里,你将学会如何用SQL语句来创建一个新表。<br><br> <br><br>__________________<br><font color=red>真实源于生活! </font><br>请访问我们的网站: <br>(VB爱好者乐园) <br><a href="http://www.vbgood.com" target=_blank>http://www.vbgood.com</a><br><a href="http://www.d1vb.com" target=_blank>http://www.d1vb.com</a><br><a href="http://61.128.97.225/vbgood/index.asp" target=_blank>http://61.128.97.225/vbgood/index.asp</a><br>拥有1800多个资料! </p></td>
  </tr>
</table>

<p>
<CENTER><a href="http://www.jsp001.com/forum/newreply.php?action=newreply&threadid=438">点这里对该文章发表评论</a></CENTER>
<p>该文章总得分是 <font color=red>6</font> 分,你认为它对你有帮助吗?
				[<a href=javascript:void(0) onclick=window.open("http://www.jsp001.com/forum/codeVote.php?threadid=438&intVote=4","","menubar=no,toolbar=no,location=no,directories=no,status=no,resizable=no,scrollbars=no,width=70,height=40,top=0,left=0")>非常多</a>](<font color=red>1</font>) 
				[<a href=javascript:void(0) onclick=window.open("http://www.jsp001.com/forum/codeVote.php?threadid=438&intVote=2","","menubar=no,toolbar=no,location=no,directories=no,status=no,resizable=no,scrollbars=no,width=70,height=40,top=0,left=0")>有一些</a>](<font color=red>1</font>) 
				[<a href=javascript:void(0) onclick=window.open("http://www.jsp001.com/forum/codeVote.php?threadid=438&intVote=1","","menubar=no,toolbar=no,location=no,directories=no,status=no,resizable=no,scrollbars=no,width=70,height=40,top=0,left=0")>无帮助</a>](<font color=red>1</font>) 
				[<a href=javascript:void(0) onclick=window.open("http://www.jsp001.com/forum/codeVote.php?threadid=438&intVote=-1","","menubar=no,toolbar=no,location=no,directories=no,status=no,resizable=no,scrollbars=no,width=70,height=40,top=0,left=0")>是灌水</a>](<font color=red>1</font>) </p>
<script language="javascript" src="http://www.jsp001.com/include/read_thread_script.php?threadid=438"></script>
<p><CENTER>
Copyright &copy; 2001 - 2009 JSP001.com . All Rights Reserved <P>

<IMG SRC="../image/jsp001_small_logo.gif" WIDTH="85" HEIGHT="30" BORDER=0 ALT="">
</CENTER></p>

</body>
</html>

⌨️ 快捷键说明

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