sql 数据库 第七篇 SQL Server 2008数据查询1.ppt

sql 数据库 第七篇 SQL Server 2008数据查询1.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

xiaofei2001128 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档