- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL Server 数据库程序设计 授课教师:姜 姗 第七章 数据查询 熟练掌握SELECT数据查询语句的语法;熟练掌握SELECT语句相关子句的使用;熟练利用SELECT语句进行简单查询、连接查询和嵌套查询。 7.1查询语句 数据查询是数据库系统最重要的功能。无论是创建数据库,还是创建数据表等,最终的目的都是为了利用数据,而利用数据的前提是需要从数据库中查询出所需要的数据。所谓查询就是根据客户端的要求,数据库服务器搜寻出用户所需要的信息资料,并按用户规定的格式进行整理后返回给客户端。 Select查询语句语法结构 虽然SELECT语句的完整语法非常复杂,但其主要子句可归纳如下:SELECT select_list[ INTO new_table] FROM table_source[ WHERE search_condition] [ GROUP BY group_by_expression] [ HAVING search_condition] [ ORDER BY order_expression [ ASC|DESC ] ] 参数说明 GROUP BY子句:指定用来放置输出行的组,并且如果SELECT子句select_list中包含聚合函数,则计算每组的汇总值。 HAVING子句:指定组或聚合函数的搜索条件。HAVING通常与GROUP BY子句一起使用。ORDER BY子句:指定结果集的排序方式。ASC关键字表示升序排列结果,DESC关键字表示降序排列结果。如果没有指定任何一个关键字,那么ASC就是默认的关键字。如果没有ORDER BY子句,DBMS将根据输入表中数据的存放位置来显示数据。 SELECT各子句的顺序及功能 在SELECT查询语句中,各子句之间的顺序非常重要。虽然有些可选子句可以省略,但一旦使用这些子句就必须按照适当的顺序来安排它们的前后。如果在同一个SELECT查询语句中用到了多个子句,则正确的子句排列顺序应如下表所示,按序号由低到高进行编写。 SELECT查询语句各子句的编写顺序 SELECT查询语句各子句的执行顺序 第一步,首先执行FROM子句。第二步,如果有WHERE子句,实现基于指定的条件对记录行进行筛选。第三步,如果有GROUP BY子句,它将把数据划为多个分组。第四步,如果有HAVING子句,它将筛选分组。第五步,将SELECT子句作用于结果表。第六步,如果有ORDER BY子句,则按指定的排序规则对结果进行排序。第七步,如果有INTO子句,则将查询结果存储到用户指定的新表中。 简单查询 1.查询列 基本格式为: SELECT column_name [, column_name…] FROM table_name WHERE Search_condition 1.查询指定列数据表中有很多列,通常情况下并不需要查看全部的列,因为不同的用户所关注的内容不同。【例7-1】查询所有同学学号、姓名和成绩信息。SELECT stu_id, name, grade FROM stu_info在指定列查询中,列的显示顺序由SELECT子句指定,与数据在表中的存储顺序无关;同时,在查询多列时,用“,”将各字段隔开。 2.查询所有列 【例7-2】查询所有同学的所有信息。SELECT *FROM stu_info使用“*”通配符时要慎重,在不需要查询所有列时,尽量采用前面介绍的指定列查询,以免占用过多的资源。 3.使用运算列在数据查询时,经常需要对表中的列进行计算,才能获得所需要的结果。在SELECT子句中可以使用各种运算符和函数对指定列进行运算。 【例7-3】查询所有同学的年龄信息。SELECT stu_id, name, YEAR(GETDATE( ))-YEAR(birthday)FROM stu_info在这里,YEAR为系统函数,获取指定日期的年份;GETDATE()为系统函数,获取当前日期和时间。 4.改变列标题显示SELECT column_name as new_name [,…n] FROM table_name 【例7-4】查询所有同学的年龄信息。SELECT name AS ‘姓名’, YEAR(GETDATE( ))-YEAR(birthday) AS ‘年龄’FROM stu_info 例1:查询数据表Student中所有学生的学号及年龄,结果中各列的标题分别指定为学号、年龄; SELECT Sno as 学号, Sage as 年龄 FROM Student 或者 SELECT Sno 学号, Sage 年龄 FROM Student 或者 SELECT 学号=S
您可能关注的文档
最近下载
- 福彩市场管理员培训.pptx
- 7.2化石能源的合理利用教学设计---2024-2025学年九年级化学人教版(2024)上册.docx
- 35kv电缆头制作监理旁站记录.docx
- Unit 4 Plants around us Part C Make a paper garden(课件)人教PEP版(2024)英语三年级上册.pptx
- 中班综合《有趣的螃蟹》PPT课件.ppt
- 顺丰快递企业运作模式探析论文.pdf VIP
- 幼儿园课件:婴幼儿主被动操(1).ppt
- 《PCB设计与制作》课程标准.doc VIP
- 2020明辉学校开展“读书月系列活动”简讯美篇(可编辑).pdf VIP
- 行车轨道更换施工方案.docx
文档评论(0)