- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
情景6 数据的检索 《SQL Server数据库技术及应用 》 任务1:掌握数据基本查询 任务2:掌握数据分组统计查询 任务3:掌握高级查询的应用 目录 任务1:掌握数据基本查询 6.1.1 基本查询语法结构 基本查询的语法结构只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图以及有哪些信誉好的足球投注网站条件等。 1. 选择列表 2. FROM子句 3. 使用WHERE子句设置查询条件 6.1.2 Transact-SQL运算符 运算符是一种符号,用来指定要在一个或多个表达式中执行的操作。 1. 比较运算符 2. 逻辑运算符 3. 范围运算符 4. 模式匹配运算符 5. 列表运算符 6. 空值判断符 6.1.3数据排序 使用ORDER BY子句对查询返回的结果按一列或多列排序。ORDER BY子句的语法格式为: ORDER BY {column_name [ASC|DESC]} [,…n] 其中,ASC表示升序,为默认值;DESC为降序。ORDER BY不能按ntext、text和image数据类型进行排序。 任务2:掌握数据分组统计查询 6.2.1 Transact-SQL聚合函数 数据库最大的一个特点就是将各种分散的数据按一定规律、条件进行分类汇总,并得出统计结果。Transact-SQL提供了聚合函数来完成这项工作,聚合函数对一组数据进行操作,并返回一个数值。常用的聚合函数如下: (1)AVG(expr):列值的平均值。该列只能包含数字数据。 (2)COUNT(expr),COUNT(*):列值的计数(如果将列名指定为expr)或是表或组中所有行的计数(如果指定*)。COUNT(expr) 忽略空值,但COUNT(*) 在计数中包含空值。 (3)MAX(expr):列中最大的值(文本数据类型中按字母顺序排在最后的值)。忽略空值。 (4)MIN(expr):列中最小的值(文本数据类型中按字母顺序排在最前的值)。忽略空值。 (5)SUM(expr):列值的合计。该列只能包含数字数据。 6.2.2分组统计查询 分组查询主要是指GROUP BY字句将行划分成较小的组,然后使用聚合函数返回每一组的汇总信息。分组查询一般是用来满足统计需求的。 1.使用GROUP BY进行分组查询 2.使用HAVING子句进行分组筛选 3.分组查询对比 任务3:掌握高级查询的应用 6.3.1连接查询语句构造 1.等值与非等值连接查询 2.自身连接 3.外连接 4.复合条件连接 6.3.2 子查询语句构造 1.子查询的相关概念 子查询是指将一个查询块嵌套在另一个查询块的WHERE字句或HAVING短语的条件中的查询。 例如,查询全班最高分。 SELECT max(Grade) FROM SC 那么查询最高分的学生信息 SELECT * FROM SC where Grade = (SELECT max(Grade) FROM SC) 6.3.2 子查询语句构造 2.带有IN谓词的子查询 带有IN谓词的子查询是指父查询和子查询之间用IN进行连接,判断某个属性列值是否在子查询的结果中。由于在子查询中,子查询的结果往往是一个集合,所以谓词IN是子查询中最经常使用的谓词。 6.3.2 子查询语句构造 3.带有比较运算符的子查询 带有比较运算符的子查询是指父查询和子查询之间用比较运算符进行连接。当用户能确切知道内层查询返回的是单值时,可以用、、=、=、=、!=或等比较运算符。 6.3.2 子查询语句构造 4.带有ANY或ALL谓词的子查询 子查询返回单值时可以使用比较运算符,而使用ANY或ALL谓词时必须同时使用比较运算符。表达式及其语义如下表所示: 6.3.2 子查询语句构造 5.带有EXISTS谓词的子查询 EXISTS代表存在量词,带有EXISTS谓词的子查询不返回任何实际数据,它只产生逻辑真值“true”或逻辑假值“false”。 ?注意: (1)与EXISTS相对应的是NOT EXISTS谓词,使用NOT EXISTS谓词后,若内层查询结果为空,则外层的WHERE字句返回真值,否则返回假值; (2)一些带EXISTS或NOT EXISTS谓词的子查询不能被其他形式的子查询等价替换,但带有谓词IN、比较运算符、ANY和ALL谓词的子查询都能用带有EXISTS谓词的子查询等价替换。 6.3.3 生成新表查询语句构造 使用INTO 子句可以一次性地把所有满足条件的记录拷贝到一张新表中.通常制作记录的备份或副本或作为报表的基础. 用户若要执行带 INTO 子句的 SELECT 语句,必须在目的数据库内具有 CREATE TAB
文档评论(0)