第6章 SQL高级应用.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
华北科技学院 李文武 第6章 SQL 高级应用 电子商务数据库技术 6.1 SELECT 高级查询 6.1.1数据汇总 1.聚合函数:对一组值操作,返回单一的汇总值。聚合函数在如下情况下,允许作为表达式使用: (1)SELECT语句的选择列表(子查询或外部查询)。 (2)COMPUTE或COMPUTE BY子句。 (3)HAVING子句。 COMPUTE和COMPUTE BY COMPUTE子句用于分类汇总,格式为: [COMPUTE{聚合函数名(expression)}[,...n][BY expression[,...n]]] 其中expression是列名;COMPUTE将产生额外的汇总行。 COMPUTE BY子句可以用同一SELECT语句既查看明细行,又查看汇总行。可计算分组的汇总值,也可计算整个结果集的汇总值。 COMPUTE 生成的结果集 当 COMPUTE 带有可选的 BY 子句时,符合 SELECT 条件的每个组都有两个结果集: 每个组的第一个结果集是明细行集,其中包含该组的选择列表信息。 每个组的第二个结果集有一行,其中包含该组的 COMPUTE 子句中所指定的聚合函数的小计。 当 COMPUTE 不带可选的 BY 子句时,SELECT 语句有两个结果集: 每个组的第一个结果集是包含选择列表信息的所有明细行。 第二个结果集有一行,其中包含 COMPUTE 子句中所指定的聚合函数的合计。 比较 COMPUTE 和 GROUP BY GROUP BY 生成单个结果集。每个组都有一个只包含分组依据列和显示该组子聚合的聚合函数的行。选择列表只能包含分组依据列和聚合函数。 COMPUTE 生成多个结果集。 一类结果集包含每个组的明细行,其中包含选择列表中的表达式。 另一类结果集包含组的子聚合,或 SELECT 语句的总聚合。 选择列表可包含除分组依据列或聚合函数之外的其它表达式。 聚合函数在 COMPUTE 子句中指定,而不是在选择列表中。 2. GROUP BY 子句 指定用来放置输出行的组,并且如果 SELECT 子句 select list 中包含聚合函数,则计算每组的汇总值。指定 GROUP BY 时,选择列表中任一非聚合表达式内的所有列都应包含在 GROUP BY 列表中,或者 GROUP BY 表达式必须与选择列表表达式完全匹配。 语法 [ GROUP BY [ ALL ] group_by_expression [ ,...n ] ????????[ WITH { CUBE | ROLLUP } ] ] ALL:包含所有组和结果集,甚至包含那些任何行都不满足 WHERE 子句指定的搜索条件的组和结果集。如果指定了 ALL,将对组中不满足搜索条件的汇总列返回空值。不能用 CUBE 或 ROLLUP 运算符指定 ALL。 如果访问远程表的查询中有 WHERE 子句,则不支持 GROUP BY ALL 操作。 group_by_expression:是对其执行分组的表达式。group_by_expression 也称为分组列。group_by expression 可以是列或引用列的非聚合表达式。在选择列表内定义的列的别名不能用于指定分组列。 CUBE:指定在结果集内不仅包含由 GROUP BY 提供的正常行,还包含汇总行。在结果集内返回每个可能的组和子组组合的 GROUP BY 汇总行。GROUP BY 汇总行在结果中显示为 NULL,但可用来表示所有值。使用 GROUPING 函数确定结果集内的空值是否是 GROUP BY 汇总值。 ROLLUP:指定在结果集内不仅包含由 GROUP BY 提供的正常行,还包含汇总行。按层次结构顺序,从组内的最低级别到最高级别汇总组。组的层次结构取决于指定分组列时所使用的顺序。更改分组列的顺序会影响在结果集内生成的行数。 6.1.2 联接查询 通过联接根据各表间的逻辑关系从两个或多个表中检索数据。 定义方法: 可以在FROM 或WHERE子句中使用比较运算符给出联接条件对表进行联接。 指定各表中用于联接的列。 比较符可以是、=、=、、=、!=、、!和! 联接条件与WHERE和HAVING子句的搜索条件配合完成查询。查询所选的行首先通过 FROM 子句联接条件进行筛选,其次由 WHERE 子句搜索条件筛选,然后由 HAVING 子句搜索条件筛选 。 1. 内联接 仅显示两个联接表中的匹配行的联接。是查询分析器中的默认联接类型。 当创建内联接时,包含 NULL 的列不与任何值匹配,因此不包括在结果集内。空值不与其它的空值匹配。 关键词为:INNER JOIN 2. 外联接 包括在联接表中没有相关行的行的联接。 左向外联接:包括第一个命名表(“左”表,

文档评论(0)

企管文库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档