欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    SQL基础知识8076.docx

    • 资源ID:48148017       资源大小:146.60KB        全文页数:89页
    • 资源格式: DOCX        下载积分:30金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要30金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    SQL基础知识8076.docx

    第三部分 操作数据:SQL 本部部分内容 n SQL基础础 n 中级SQL n 高级SQL 第10章 SSQL基础 本章内容 SQL介绍绍 使用SELEECT 语句句从表中取数数据 创建新表 字段属性 向表中添加加数据 删除和修改改表 为了建建立交互站点点,你需要使使用数据库来来存储来自访访问者的信息息。例如,你你要建立一个个职业介绍服服务的站点,你你就需要存储储诸如个人简简历,所感兴兴趣的工作等等等这样的信信息。创建动动态网叶也需需要使用数据据库,如果你你想显示符合合来访者要求求的最好的工工作,你就需需要从数据库库中取出这份份工作的信息息。你将会发发现,在许多多情况下需要要使用数据库库。 在这一一章里,你将将学会怎样使使用“结构化查询询语言”(SQL来操操作数据库。SQL语言是数据库的标准语言。在Active Sever Pages 中,无论何时你要访问一个数据库,你就要使用SQL语言。因此,掌握好SQL对ASP编程是非常重要的。 注意: 你可以以把“SQL”读作“sequeel”,也可以按按单个字母的的读音读作SSQL。 两两种发音都是是正确的,每每种发音各有有大量的支持持者。在本书书里,认为“SQL”读作“sequeel”。 通过这这一章的学习习,你将理解解怎样用SQQL实现数据据库查询,你你将学会怎样样使用这种查查询从数据表表中取出信息息,最后,你你将学会怎样样设计和建立立自己的数据据库。 注意: 通过下下面几章对SSQL的介绍绍,你将对SSQL有足够够的了解,从从而可以有效效地使用Acctive Severr Pagees。但是,SQQL是一种复复杂的语言,本本书不可能包包括它的全部部细节。要全全面掌握SQQL语言,你你需要学习在在Microosoft SQL SSever 中使用SQLL。你可以到到附近的书店店去买一本MMicrossoft SSQL Seever 66.5。SQL介绍: 本书假假设你是在SSQL操作Micrrosoftt SQL Severr 的数据库库。你也可以以用SQL操作许许多其它类型型的数据库。SQL是操作数据库的标准语言。(事实上,关于SQL语言有一个专门的ANSI标准 注意: 不要在在你的站点上上试图用Miicrosooft Acccess代代替Micrrosoftt SQL Severr。SQL SSever可可以同时服务务于许多用户户,如果你希希望你的站点点有较高的访访问率,MSS Acceess是不能能胜任的。 在学习习SQL的细节节之前,你需需要理解它的的两大特点。一一个特点容易易掌握,另一一个掌握起来来有点困难。 第一个个特点是所有有SQL数据库库中的数据都都存储在表中中。一个表由由行和列组成成。例如,下下面这个简单单的表包括nname 和和e-maiil adddress: Namme EEmail Addreess . Billl Gattes billlgmiicrosooft.coom preesidennt Cliinton prresideentwhhitehoouse.ccom Steephen Walthher swallther 这个表表有两列(列列也称为字段段,域:NName和Emaill Addrress。有有三行,每一一行包含一组组数据。一行行中的数据组组合在一起称称为一条记录录。 无论何何时你向表中中添加新数据据,你就添加加了一条新记记录。一个数数据表可以有有几十个记录录,也可以有有几千甚至几几十亿个记录录。虽然你也也许永远不需需要存储十亿亿个Emaiil地址,但但知道你能这这样做总是好好的,也许有有一天你会有有这样的需要要。 你的数数据库很有可可能包含几十十个表,所有有存储在你数数据库中的信信息都被存储储在这些表中中。当你考虑虑怎样把信息息存储在数据据库中时,你你应该考虑怎怎样把它们存存储在表中。 SQLL的第二个特特点有些难于于掌握。这种种语言被设计计为不允许你你按照某种特特定的顺序来来取出记录,因因为这样做会会降低SQLL Seveer取记录的的效率。使用用SQL,你只只能按查询条条件来读取记记录。 当考虑虑如何从表中中取出记录时时,自然会想想到按记录的的位置读取它它们。例如,也也许你会尝试试通过一个循循环,逐个记记录地扫描,来来选出特定的的记录。在使使用SQL时,你你必须训练自自己,不要有有这种思路。 假如你你想选出所有有的名字是“Bill Gatess”的记录,如如果使用传统统的编程语言言,你也许会会构造一个循循环,逐个查查看表中的记记录,看名字字域是否是“Bill Gatess”。 这种选选择记录的方方法是可行的的,但是效率率不高。使用用SQL,你你只要说,“选择所有名名字域等于BBill GGates的的记录”,SQL就就会为你选出出所有符合条条件的记录。SSQL会确定定实现查询的的最佳方法。 建设你你想取出表中中的前十个记记录。使用传传统的编程语语言,你可以以做一个循环环,取出前十十个记录后结结束循环。但但使用标准的的SQL查询询,这是不可可能实现的。从从SQL的角角度来说,在在一个表中不不存在前十个个记录这种概概念。 开始时时,当你知道道你不能用SSQL实现某某些你感觉应应该能实现的的功能,你会会受到挫折。你你也许会以头头撞墙甚至想想写恶毒的信信件给SQLL的设计者们们。但后来你你会认识到,SSQL的这个个特点不仅不不是个限制,反反而是其长处处。因为SQQL不根据位位置来读取记记录,它读取取记录可以很很快。 综上所所述,SQLL有两个特点点:所有数据据存储在表中中,从SQLL的角度来说说,表中的记记录没有顺序序。在下一节节,你将学会会怎样用SQQL从表中选选择特殊的记记录。使用SQL从表表中取记录。 SQLL的主要功能能之一是实现现数据库查询询。如果你熟熟悉Inteernet 引擎,那么么你已经熟悉悉查询了。你你使用查询来来取得满足特特定条件的信信息。例如,如如果你想找到到有ASP信信息的全部站站点,你可以以连接到 YYahoo!并执行一个个对Actiive Seever PPages的的搜索。在你你输入这个查查询后,你会会收到一个列列表,表中包包括所有其描描述中包含搜搜索表达式的的站点。 多数IInternnet 引擎擎允许逻辑查查询。在逻辑辑查询中,你你可以包括特特殊的运算符符如AND、OOR和NOTT,你使用这这些运算符来来选择特定的的记录。例如如,你可以用用AND来限限制查询结果果。如果你执执行一个对AActivee Seveer Pagges AAND SSQL的搜索索。你将得到到其描述中同同时包含Acctive Severr Pagees 和SQQL的记录。当当你需要限制制查询结果时时,你可以使使用AND。 如果你你需要扩展查查询的结果,你你可以使用逻逻辑操作符OOR。例如,如如果你执行一一个搜索,搜搜索所有的其其描述中包含含Activve Sevver Paages OR SSQL的站点点,你收到的的列表中将包包括所有其描描述中同时包包含两个表达达式或其中任任何一个表达达式的站点。 如果你你想从搜索结结果中排除特特定的站点,你你可以使用NNOT。例如如,查询“Activve Sevver Paages ”AND NNOT “SQL”将返回一个个列表,列表表中的站点包包含Actiive SSever Pagess,但不包含含SQL。当当必须排除特特定的记录时时,你可以使使用NOT。 用SQQL执行的查查询与用Innterneet搜索引擎擎执行的搜索索非常相似。 当你执行一一个SQL查查询时,通过过使用包括逻逻辑运算符的的查询条件,你你可以得到一一个记录列表表。此时查询询结果是来自自一个或多个个表。 SQLL查询的句法法非常简单。假假设有一个名名为emaiil_tabble 的表表,包含名字字和地址两个个字段,要得得到Billl Gatees 的e_mail地地址,你可以以使用下面的的查询: SELLECT eemail from emaill_tablle WHEERE naame="BBill GGates"" 当这个个查询执行时时,就从名为为emaill_tablle的表中读读取Billl Gatees的e_mmail 地地址。这个简简单的语句包包括三部分: SELECCT语句的第第一部分指名名要选取的列列。在此例中中,只有emmail列被被选取。当执执行 时,只只显示emaail列的值值 billlgm。 SELECCTT语句的的第二部份指指明要从哪个个(些)表中中查询数据。在在此例中,要要查询的表名名为emaiil_tabble 。 最后,SEELECT语语句的WHEERE子句指指明要选择满满足什么条件件的记录。在在此例中,查查询条件为只只有namee列的值为BBill GGates 的记录才被被选取。 Billl Gattes很有可可能拥有不止止一个emaail地址。如如果表中包含含Bill Gatess的多个emmail地址址。用上述的的SELECCT语句可以以读取他所有有的emaiil地址。SSELECTT语句从表中中取出所有nname字段段值为Billl Gattes 的记记录的emaail 字段段的值。 前面说说过,查询可可以在查询条条件中包含逻逻辑运算符。假假如你想读取取Bill Gatess 或Cliinton总总统的所有eemail地地址,你可以以使用下面的的查询语句: SELLECT emaill FROOM emmail_ttable WHERRE naame="BBill GGates"" OR nname=""presiident Clinnton" 此例中中的查询条件件比前一个复复杂了一点。这这个语句从表表emaill_tablle中选出所所有namee列为Billl Gattes或prresideent Cllintonn的记录。如如果表中含有有Bill Gatess或pressidentt Clinnton的多多个地址,所所有的地址都都被读取。 SELLECT语句句的结构看起起来很直观。如如果你请一个个朋友从一个个表中为你选选择一组记录录,你也许以以非常相似的的方式提出你你的要求。在在SQL SSELECTT语句中,你你“SELECCT特定的列列FROM一一个表WHEERE某些列列满足一个特特定的条件”。 下一节节将介绍怎样样执行SQLL查询来选取取记录。这将将帮助你熟悉悉用SELEECT语句从从表中取数据据的各种不同同方法。使用ISQL执执行SELEECT查询 当你安安装SQL Severr时,你同时时安装了一个个叫作ISQQL/w的应应用程序。IISQL/ww允许你执行行交互的SQQL查询。在在把查询包括括到你的ASSP网页中之之前,用ISSQL/w对对其进行测试试是非常有用用的。 注意: 在这本本书的第一部部份,你学习习了怎样安装装和配置Miicrosooft SQQL Sevver 。如如果没有安装装SQL SSever或或者SQL Severr不能运行,请请参阅第三章章“安装和使用用SQL SSever”。 选择任任务上SQLL Seveer程序组中中的ISQLL_w以启动动该程序。程程序启动时,首首先会出现一一个对话框,要要求输入服务务器信息和登登录信息(见见图10.11)。在Seever框中中,输入你的的SQL服务务器的名字。如如果服务器正正运行在本地地计算机上,服服务器名字就就是你计算机机的名字。在在登录信息框框中,输入一一个登录帐号号和密码或选选择使用“可信连接”,然后单击击Conneect按钮。 图图10。1 注意: 如果你你将SQL Severr配置为使用用完整安全或或混合安全,那那么你可以使使用可信连接接。如果你使使用标准安全全,你则需要要提供用户帐帐号和密码。要要了解更多信信息,参见第第三章。 如果一一切正常,在在你单击连接接按钮后会出出现一个查询询窗口,如图图10.2所示。(如如果有异常,请请参考第三章章) 图10.2 在执行行查询之前,你你需要选择数数据库。安装装 SQL Severr时你已为自自己创建了一一个数据库,SSQL Seever还有有许多系统数数据库,如mmasterr,modeel,msddb,和teempdb。 方便的的是,SQLL Seveer带有一个个特殊的名为为pubs的例例子数据库。库库 pubss中包含供一一个虚拟的出出版商使用的的各个表。文文档中所有的的例子程序都都是针对这个个库来设计的的。本书中的的许多例子也也使用这个数数据库。 在查询询窗口顶部的的DB下拉框框中选择数据据库pubss,这样你就就选择了数据据库。你所有有的查询都将将针对这个库库中的各个表表来执行。现现在你可以执执行你的第一一个查询了。这这真让人兴奋奋! 你的第第一个查询将将针对一个名名为autrrors的表表,表中包含含所有为某个个虚拟出版商商工作的作者者的相关数据据。单击查询询窗口并输入入以下的语句句: SELLECT phonee FROOM autthors WHEREE au_nname=""Ringeer" 输入完完成后,单击击执行查询按按钮(一个绿绿色三角形,看看起来像VCCR播放键)。单单击此按钮后后,任何出现现在查询窗口口中的语句均均会被执行。查查询窗口会自自动变成结果果显示窗口,你你可以看到查查询的结果(见见图10.33)。 你看到到的查询结果果也许与图110.3所示示的不同。在在SQL SSever的的不同版本中中,库pubbs中的数据据会有所不同同。对SQLL Seveer 6.55来说,将会会找到两条记记录。结果显显示窗口中应应显示如下内内容: phoone.801 8266_07522801 8266_07522 (2 row(ss) afffecteed) 图10.33 你所执执行的SELLECT语句句从表autthors中中取出所有名名字为Rinnger的作作者的电话号号码。你通过过在WHERRE子句中使使用特殊的选选择条件来限限制查询的结结果。你也可可以忽略选择择条件,从表表中取出所有有作者的电话话号码。要做做到这一点,单单击Querry标签,返返回到查询窗窗口,输入以以下的SELLECT语句句:SELECT Phonee FROOM autthors 这个查查询执行后,会会取出表auuthorss中的所有电电话号码(没没有特定的顺顺序)。如果果表authhors中包包含一百个电电话号码,会会有一百个记记录被取出,如如果表中有十十亿个电话号号码,这十亿亿条记录都会会被取出(这这也许需要一一些时间)。 表auuthrs的的字段包括姓姓,名字,电电话号码,地地址,城市,州州和邮政编码码。通过在SSELECTT语句的第一一部份指定它它们,你可以以从表中取出出任何一个字字段。你可以以在一个SEELECT语语句中一次取取出多个字段段,比如: SELLECT aau_fnaame ,aau_lnaame, pphone FROM authoors 这个SSELECTT语句执行后后,将取出这这三个列的所所有值。下面面是这个查询询的结果的一一个示例(为为了节省纸张张,只显示查查询结果的一一部分,其余余记录用省略略号代替): au_fnamee au_lnname phonee . Johhnson Whitte 408 496_7223 Marrjoriee Greeen 4155 9866_70200 Cheeryl Carrson 415 548_7723 Micchael OLLeary 408 286_2428 (233 row(s) aaffectted) 在SEELECT语语句中,你需需要列出多少少个字段,你你就可以列出出多少。不要要忘了把字段段名用逗号隔隔开。你也可可以用星号(*)从一个表表中取出所有有的字段。这这里有一个使使用星号的例例子: SELLECT * FROMM autthors 这个SSELECTT语句执行后后,表中的所所有字段的值值都被取出。你你会发现你将将在SQL查查询中频繁使使用星号。 技巧: 你可以以使用星号来来查看一个表表的所有列的的名字。要做做到这一点,只只需要在执行行完SELEECT语句后后看一下查询询结果的列标标题。操作多个表 到现在在为止,你只只尝试了用一一句SQL查查询从一个表表中取出数据据。你也可以以用一个SEELECT语语句同时从多多个表中取出出数据,只需需在SELEECT语句的的FROM从从句中列出要要从中取出数数据的表名称称即可: SELLECT aau_lnaame ,ttitle FROMM autthors, titlles 这个SSELECTT语句执行时时,同时从表表authoors和表ttitless中取出数据据。从表auuthorss中取出所有有的作者名字字,从表tiitles中中取出所有的的书名。在IISQL/ww程序中执行行这个查询,看看一下查询结结果。你会发发现一些奇怪怪的出乎意料料的情况:作作者的名字并并没有和它们们所著的书相相匹配,而是是出现了作者者名字和书名名的所有可能能的组合,这这也许不是你你所希望见到到的。 出了什什么差错?问问题在于你没没有指明这两两个表之间的的关系。你没没有通过任何何方式告诉SSQL如何把把表和表关联联在一起。由由于不知道如如何关联两个个表,服务器器只能简单地地返回取自两两个表中的记记录的所有可可能组合。 要从两两个表中选出出有意义的记记录组合,你你需要通过建建立两表中字字段的关系来来关联两个表表。要做到这这一点的途径径之一是创建建第三个表,专专门用来描述述另外两个表表的字段之间间的关系。 表auuthorss有一个名为为au_idd的字段,包包含有每个作作者的唯一标标识。表tiitles有有一个名为ttitle_id的字段段,包含每个个书名的唯一一标识。如果果你能在字段段au_idd和字段tiitle_iid 之间建建立一个关系系,你就可以以关联这两个个表。数据库库pubs中中有一个名为为titleeauthoor的表,正正是用来完成成这个工作。表表中的每个记记录包括两个个字段,用来来把表tittles和表表authoors关联在在一起。下面面的SELEECT语句使使用了这三个个表以得到正正确的结果: SELLECT au_naame,tiitle FFROM aauthorrs,tittles,ttitleaauthorr WHERRE auuthorss.au_iid=tittleautthor.aau_id ANDD ttitless.titlle_id=titleeauthoor.tittle_idd 当这个个SELECCT语句执行行时,每个作作者都将与正正确的书名相相匹配。表ttitleaauthorr指明了表aauthorrs和表tiitles的的关系,它通通过包含分别别来自两个表表的各一个字字段实现这一一点。第三个个表的唯一目目的是在另外外两个表的字字段之间建立立关系。它本本身不包含任任何附加数据据。 注意在在这个例子中中字段名是如如何书写的。为为了区别表aauthorrs和表tiitles中中相同的字段段名au_iid,每个字字段名前面都都加上了表名名前缀和一个个句号。名为为authoor.au_id 的字字段属于表aauthorrs,名为ttitleaauthorr.au_iid的字段属属于表tittleautthor,两两者不会混淆淆。 通过使使用第三个表表,你可以在在两个表的字字段之间建立立各种类型的的关系。例如如,一个作者者也许写了许许多不同的书书,或者一本本书也许由许许多不同的作作者共同完成成。当两个表表的字段之间间有这种“多对多”的关系时,你你需要使用第第三个表来指指明这种关系系。 但是,在在许多情况下下,两个表之之间的关系并并不复杂。比比如你需要指指明表tittles和表表publiisherss之间的关系系。因为一个个书名不可能能与多个出版版商相匹配,你你不需要通过过第三个表来来指明这两个个表之间的关关系。要指明明表titlles和表ppublisshers之之间的关系,你你只要让这两两个表有一个个公共的字段段就可以了。在在数据库puubs中,表表titlees和表puublishhers都有有一个名为ppub_idd的字段。如如果你想得到到书名及其出出版商的一个个列表,你可可以使用如下下的语句: SELLECT titlee,pub_name FROMM tittles,ppublisshers WHEREE titlles.puub_id=publiisherss.pub_id 当然,如如果一本书是是由两个出版版商联合出版版的,那么你你需要第三个个表来代表这这种关系。 通常,当当你予先知道道两个表的字字段间存在“多对多”关系时,就就使用第三个个表来关联这这两个表。反反之,如果两两个表的字段段间只有“一对一”或“一对多”关系,你可可以使用公共共字段来关联联它门。操作字段 通常,当当你从一个表表中取出字段段值时,该值值与创建该表表时所定义的的字段名联系系在一起。如如果你从表aauthorrs中选择所所有的作者名名字,所有的的值将会与字字段名au_lnamee相联系。但但是在某些情情况下,你需需要对字段名名进行操作。在在SELECCT语句中,你你可以在缺省省字段名后面面仅跟一个新新名字来取代代它。例如,可可以用一个更更直观易读的的名字Autthor LLast NName来代代替字段名aau_lnaame: SELLECT aau_lnaame "AAuthorr Lastt Namee" FROOM autthors 当这个个SELECCT语句执行行时,来自字字段au_llname的的值会与“Authoor Lasst Namme”相联系。查查询结果可能能是这样: AAuthorr Lastt Namee . WWhite GGreen CCarsonn OOLearry SStraigght (23 roow(s) affeccted) 注意字段标题不不再是au_lnamee,而是被AAuthorr Lastt Namee所取代。 你也可可以通过执行行运算,来操操作从一个表表返回的字段段值。例如,如如果你想把表表titlees中的所有有书的价格加加倍,你可以以使用下面的的SELECCT语句: SELLECT pricee*2 FRROM tiitles 当这个个查询执行时时,每本书的的价格从表中中取出时都会会加倍。但是是,通过这种种途径操作字字段不会改变变存储在表中中的书价。对对字段的运算算只会影响SSELECTT语句的输出出,而不会影影响表中的数数据。为了同同时显示书的的原始价格和和涨价后的新新价格,你可可以使用下面面的查询:SELECT pricce "OOriginnal pprice"", priice*2 "Neww pricce" FRROM ttitless 当数据据从表tittles中取取出时,原始始价格显示在在标题Oriiginall pricce下面,加加倍后的价格格显示在标题题New pprice下下面。结果可可能是这样: ooriginnal pprice neew prrice .19.99 39.9811.95 23.900 2.99 5.9819.99 39.98(18 roww(s) affeccted) 你可以以使用大多数数标准的数学学运算符来操操作字段值,如如加(+),减减(-),乘乘(*)和除除(/)。你你也可以一次次对多个字段段进行运算,例例如: SEELECT pricce*ytdd_salees "tootal rrevenuue" FRROM tiitles 在这个个例子中,通通过把价格与与销售量相乘乘,计算出了了每种书的总总销售额。这这个SELEECT语句的的结果将是这这样的: ttotal reveenue . 881,8599,05 446,3188,20 555,9788,78 881,8599,05 440,6199,68 (18 roow(s) affeected) 最后,你你还可以使用用连接运算符符(它看起来来像个加号)来来连接两个字字符型字段: SSELECTT au_fnamee+" "+au_lnname "autthor nname" FROM authoors 在这个个例子中,你你把字段auu_fnamme和字段aau_lnaame粘贴在在一起,中间间用一个逗号号 隔开,并并把查询结果果的标题指定定为authhor naame。这个个语句的执行行结果将是这这样的: authoor naames Johnsson Whhite Marjoorie GGreen Cheryyl Caarson MMichaeel OLLeary DDean SStraigght (23 roow(s) affeected) 可以看看到,SQLL为你提供了了对查询结果果的许多控制制。你应该在在ASP编程程过程中充分分利用这些优优点。使用SSQL来操作作查询结果几几乎总是比使使用有同样作作用的脚本效效率更高。排序查询结果 本章的的介绍中曾强强调过,SQQL表没有内内在的顺序。例例如,从一个个表中取第二二个记录是没没有意义的。从从SQL的角角度看来,没没有一个记录录在任何其他他记录之前。然而,你可以操操纵一个SQQL查询结果果的顺序。在在缺省情况下下,当记录从从表中取出时时,记录不以以特定的顺序序出现。例如如,当从表aauthorrs中取出字字段au_llname时时,查询结果果显示成这样样: au_lnname . Whitee Greenn Carsoon OLeaary Straiight (23 rrow(s) affeected) 看一列列没有特定顺顺序的名字是是很不方便的的。如果把这这些名字按字字母顺序排列列,读起来就就会容易得多多。通过使用用ORDERR BY子句句,你可以强强制一个查询询结果按升序序排列,就像像这样: SELLECT aau_lnaame FRROM aauthorrs ORRDER BY aau_lnaame 当这个个SELECCT语句执行行时,作者名名字的显示将将按字母顺序序排列。ORRDER BBY子句将作作者名字按升升序排列。 你也可可以同时对多多个列使用OORDER BY子句。例例如,如果你你想同时按升升序显示字段段au_lnname和字字段au_ffname,你你需要对两个个字段都进行行排序: SELLECT aau_lnaame,auu_fnamme FROOM autthors ORDERR BY aau_lnaame ,aau_fnaame 这个查查询首先把结结果按au_lnamee字段进行排排序,然后按按字段au_fnamee排序。记录录将按如下的的顺序取出: aau_lnaame au_fnamee . BBennett Abrraham RRingerr Allbert RRingerr Annne SSmith Meeanderr (23 roow(s) affeccted) 注意有有两个作者有有相同的名字字Ringeer。名为AAlbertt Ringger的作者者出现名为AAnne RRingerr的作者之前前,这是因为为姓Albeert按字母母顺序应排在在姓Annee之前。如果你想把查询询结果按相反反的顺序排列列,你可以使使用关键字DDESC。关关键字DESSC把查询结结果按降序排排列,如下例例所示: SELECCT auu_lnamme,au_fnamee FROOM autthors WHEERE auu_lnamme=”Riinger” ORDERR BY au_lnname ,au_fnname DESC 这个查查询从表auuthorss中取出所有有名字为Riinger的的作者记录。OORDER BY子句根根据作者的名名字和姓,将将查询结果按按降序排列。结结果是这样的的: aau_lnaame auu_fnamme . RRingerr AAnne RRingerr AAlbertt (2 roww(s) affecctec) 注意在在这个表中,姓姓Anne出出现在姓Allbert之之前。作者名名字按降序显显示。你也可以按数值值型字段对一一个查询结果果进行排序。例例如,如果你你想按降序取取出所有书的的价格,你可可以使用如下下的SQL查询: SELECCT prrice FROM titlees ORRDER BBY prrice DESC 这个SSELECTT语句从表中中取出所有书书的价格,显显示结果时,价价格低的书先先显示,价格格高的书后显显示。 警告: 不是特特别需要时,不不要对查询结结果进行排序序,因为服务务器完成这项项工作要费些些力气。这意意味着带有OORDER BY 子句句的SELEECT语句执执行起来比一一般的SELLECT语句句花的时间长长。取出互不相同的的记录 一个表表有可能在同同一列中有重重复的值。例例如,数据库库pubs的的表authhors中有有两个作

    注意事项

    本文(SQL基础知识8076.docx)为本站会员(you****now)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开