SQL数据操作基础(初级3) (2)
看一列没有特定顺序的名字是很不方便的。如果把这些名字按字母顺序排列,读起来就会容易得多。通过使用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="ringer"
当这个select语句执行时,只返回一个记录。通过在select语句中包含关键字distinct,你可以删除所有重复的值。例如,假设
有一个关于新闻组信息发布的表,你想取出所有曾在这个新闻组中发布信息的人的名字,那么你可以使用关键字distinct。每个用
户的名字只取一次――尽管有的用户发布了不止一篇信息。
警告:
如同order by子句一样,强制服务器返回互不相同的值也会增加运行开销。福气不得不花费一些时间来完成这项工作。因此,不是
必须的时候不要使用关键字distinct。
创建新表
前面说过,数据库中的所有数据存储在表中。数据表包括行和列。列决定了表中数据的类型。行包含了实际的数据。
例如,数据库pubs中的表authors有九个字段。其中的一个字段名为为au_lname,这个字段被用来存储作者的名字信息。每次向这
个表中添加新作者时,作者名字就被添加到这个字段,产生一条新记录。
通过定义字段,你可以创建一个新表。每个字段有一个名字和一个特定的数据类型(数据类型在后面的“字段类型”一节中讲
述),例如字段au_lname存储的是字符型数据。一个字段也可以存储其它类型的数据。
使用sql sever,创建一个新表的方法是很多的。你可以可执行一个sql语句或使用sql事务管理器(sql enterprise manager)
来创建一个新表。在下一节里,你将学会如何用sql语句来创建一个新表。
Tag: SQL
文章整理:iocblog
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。