知识大全 SQL数据操作基础(初级)3

Posted 名字

篇首语:既然认准一条路,就别去打听要走多久。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 SQL数据操作基础(初级)3相关的知识,希望对你有一定的参考价值。

SQL数据操作基础(初级)3  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  操作字段    通常 当你从一个表中取出字段值时 该值与创建该表时所定义的字段名联系在一起 如果你从表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     …    ( row(s) affected)    注意字段标题不再是au_lname 而是被Author Last Name所取代     你也可以通过执行运算 来操作从一个表返回的字段值 例如 如果你想把表titles中的所有书的价格加倍 你可以使用下面的SELECT语句     SELECT price* FROM titles     当这个查询执行时 每本书的价格从表中取出时都会加倍 但是 通过这种途径操作字段不会改变存储在表中的书价 对字段的运算只会影响SELECT语句的输出 而不会影响表中的数据 为了同时显示书的原始价格和涨价后的新价格 你可以使用下面的查询     SELECT price Original price price* New price FROM titles    当数据从表titles中取出时 原始价格显示在标题Original price下面 加倍后的价格显示在标题New price下面 结果可能是这样     original price new price    ………………………………………………………………                   …    ( row(s) affected)    你可以使用大多数标准的数学运算符来操作字段值 如加(+) 减( ) 乘(*)和除(/) 你也可以一次对多个字段进行运算 例如     SELECT price*ytd_sales total revenue FROM titles    在这个例子中 通过把价格与销售量相乘 计算出了每种书的总销售额 这个SELECT语句的结果将是这样的     total revenue    ……………………………………………                              …    ( 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    …    ( row(s) affected)    可以看到 SQL为你提供了对查询结果的许多控制 你应该在ASP编程过程中充分利用这些优点 使用SQL来操作查询结果几乎总是比使用有同样作用的脚本效率更高     排序查询结果    本章的介绍中曾强调过 SQL表没有内在的顺序 例如 从一个表中取第二个记录是没有意义的 从SQL的角度看来 没有一个记录在任何其他记录之前     然而 你可以操纵一个SQL查询结果的顺序 在缺省情况下 当记录从表中取出时 记录不以特定的顺序出现 例如 当从表authors中取出字段au_lname时 查询结果显示成这样     au_lname    ……………………………………     White    Green    Carson    O Leary    Straight    …    ( 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    …    ( 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    ( 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语句来创建一个新表 cha138/Article/program/SQLServer/201311/22224

相关参考

知识大全 SQL数据操作基础(初级)2

SQL数据操作基础(初级)2  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  使用ISQL执行SE

知识大全 SQL数据操作基础(中级)7

SQL数据操作基础(中级)7  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  用SQL建立索引  

知识大全 SQL数据操作基础(中级)10

SQL数据操作基础(中级)10  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  操作日期和时间  

知识大全 SQL数据操作基础(中级)8

SQL数据操作基础(中级)8  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  更新记录    要修

知识大全 SQL Server2005的XML数据类型之基础篇[3]

SQLServer2005的XML数据类型之基础篇[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 Sql语言基础教程 sql数据类型[2]

Sql语言基础教程sql数据类型[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &

知识大全 Sql语言基础教程 sql数据类型[1]

Sql语言基础教程sql数据类型[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &

知识大全 SQL的基本操作(1.数据类型)

SQL的基本操作(1.数据类型)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  数据类型  数据

知识大全 SQL数据库的简单操作

SQL数据库的简单操作  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一简单查询  简单的Tra

知识大全 oracle数据库中sql基础

  一关系数据库的一些概念    主键的值一般不可以改变    外键指向另一个表或本表的主键或唯一键的字段外键的值一定要和某一主键相同或者为空    数据库对像表视图序列索引同义词程序(进程函数sql