SQL高级应用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第10章 SQL 高级应用 10章
主讲人: 主讲人:朱晓丽
1、 聚 合 函 数 ( 1)
数据库的一个最大的特点: 数据库的一个最大的特点:将各种分散的数据按 照一定规律、条件进行分类组合,最后得出统计结果; 照一定规律、条件进行分类组合,最后得出统计结果; SQL Server 提供了聚合函数,用来完成一定的统 提供了聚合函数, 计功能; 计功能; 聚合函数对一组值执行计算并返回单一的值; 聚合函数对一组值执行计算并返回单一的值; 函数外, 除Count函数外,聚合函数忽略空值(Null) 函数外 聚合函数忽略空值( ) 聚合函数经常与 select 语句的 group by 子句一同 使用; 使用;
第10章 SQL 高级应用 10章
主讲人: 主讲人:朱晓丽
第10章 SQL 高级应用 10章
主讲人: 主讲人:朱晓丽
第10章 SQL 高级应用 10章
主讲人: 主讲人:朱晓丽
(2)比较 compute 和 group by
区别: 区别: – – group by 生成单个结果集: 生成单个结果集: compute 生成多个结果集; 生成多个结果集;
第10章 SQL 高级应用 10章
主讲人: 主讲人:朱晓丽
本人网站 欢迎访问
第10章 SQL 高级应用 10章
主讲人: 主讲人:朱晓丽
本 章 主 要 内 容
Transact-SQL 高级查询语句; - 高级查询语句; 事务处理; 事务处理; 游标; 游标; 数据锁定; 数据锁定; 分布式查询; 分布式查询;
子句中, 注:在 compute 或 compute by 子句中,不能包 数据类型; 含 ntext、text 或 image 数据类型; 、
第10章 SQL 高级应用 10章
主讲人: 主讲人:朱晓丽
2、Group By 子句
Group by 子句用来为结果集中的每一行产生聚 合值; 合值; Group by 子句的语法格式: 子句的语法格式: [ Group By [ all ] group_by_expression [,n] [ with { cube | Rollup } ]
第10章 SQL 高级应用 10章
主讲人: 主讲人:朱晓丽
各参数含义如下: 各参数含义如下:
All :包含所有组和结果集; 包含所有组和结果集; – 若指定了 ,将对组中不满足搜索条件的汇总 若指定了all, 列返回空值; 列返回空值; – 不能用 cube 或 rollup 运算符指定 ; 运算符指定all; Group_by_expression:对其执行分组的表达式; :对其执行分组的表达式; – 在选择列表内定义的列的别名不能用于指定分 组列; 组列; – Text、ntext、image 类型的列不能用于 、 、 group_by_expression; Cube:指定在结果集内; :指定在结果集内;
第10章 SQL 高级应用 10章
主讲人: 主讲人:朱晓丽
1、 聚 合 函 数 ( 2)
所有聚合函数都具有确定性; 所有聚合函数都具有确定性; 聚合函数仅用在下列项中允许作为表达式使用: 聚合函数仅用在下列项中允许作为表达式使用: select 语句的选择列表(子查询或外部查询); 语句的选择列表(子查询或外部查询) Compute 或 compute by 子句; 子句; having 子句; 子句; 常用的几个聚合函数如表9.1所示; 常用的几个聚合函数如表 所示; 所示
第10章 SQL 高级应用 10章
主讲人: 主讲人:朱晓丽
10.1 select 高级查询
10.1.1 10.1.2 10.1.3 10.1.4 数据汇总 联接查询 子查询 在查询的基础上创建新表
第10章 SQL 高级应用 10章
主讲人: 主讲人:朱晓丽
10.1.1 数据汇总
为决策支持系统生成聚合事务的汇总报表是一项复杂并且 相当消耗资源的工作; 相当消耗资源的工作; SQL Server 提供两个灵活且强大的组件,用于生成 提供两个灵活且强大的组件,用于生成SQL Server Analysis Services: : 数据转换服务(DTS); 数据转换服务( ) Microsoft SQL Server Analysis Services; ; 对于生成简单汇总报表的应用程序,可使用下列 对于生成简单汇总报表的应用程序,可使用下列Transact 元素: -SQL元素: 元素 CUBE 或 ROLLUP 运算符; 运算符; COMPUTE 或 COMPUTE BY 运算符; 运算符;
10.1.2 联接查询
内联接( 内联接( inner join );
外联接( out join ); 外联接( left join 、right join 、full join
交叉联接; 交叉联接;
第10章 SQL 高级应用 10章
主讲人: 主讲人:朱晓丽
第十章 内容结束 Thank you very much!
第晓丽
【Eg】:用 】 SQL语句统 语句统 计各班各课 程的平均分; 程的平均分;
第10章 SQL 高级应用 10章
主讲人: 主讲人:朱晓丽
Cube 参数会对检索 的字段中各类型的 数据做汇总运算
第10章 SQL 高级应用 10章
主讲人: 主讲人:朱晓丽
功 能
计算一列值的平均值 统计元组个数 统计一列中值的个数 计算一列值的总和 求一列值中的最小值 求一列值中的最大值 计算统计标准偏差 统计方差
第10章 SQL 高级应用 10章
主讲人: 主讲人:朱晓丽
(1)compute 生成的结果集
compute 所生成的汇总值在查询结果中显示为分离 的结果集; 的结果集; 当 compute 带有可选的 by 子句时,符合 select 条件 子句时, 的每个组都有两个结果集; 的每个组都有两个结果集; 每个组的第一个结果集是明细行集, 每个组的第一个结果集是明细行集,其中包含该 组的选择列表信息; 组的选择列表信息; 每个组的第二个结果集有一行, 每个组的第二个结果集有一行,其中包含该组的 compute 子句中所指定的聚合函数的小计; 子句中所指定的聚合函数的小计;
Rollup 参数会依据 group by 后面所列第 一个字段做汇总运算
第10章 SQL 高级应用 10章
主讲人: 主讲人:朱晓丽
第10章 SQL 高级应用 10章
主讲人: 主讲人:朱晓丽
第10章 SQL 高级应用 10章
主讲人: 主讲人:朱晓丽
第10章 SQL 高级应用 10章
主讲人: 主讲人:朱晓丽
第10章 SQL 高级应用 10章
主讲人: 主讲人:朱晓丽
函 数 名
AVG ( [ DISINCT | ALL] <列名 ) 列名> 列名 COUNT ( [ DISINCT | ALL ] * ) COUNT ( [ DISINCT | ALL] <列名 ) 列名> 列名 SUM ( [ DISINCT | ALL] <列名 ) 列名> 列名 MIN ( [ DISINCT | ALL] <列名 ) 列名> 列名 MAX ( [ DISINCT | ALL] <列名 ) 列名> 列名 STDEV ( [ DISINCT | ALL] <列名 ) 列名> 列名 VAR ( [ DISINCT | ALL] <列名 ) 列名> 列名