SQL Server查询提示(5):分组、合并提示
2018-01-23 13:26
465 查看
分组、合并,这里主要是指sql语句中的 group by 和 union 操作。
通过分组、合并提示,可以强制sql server优化器采用特定的分组、合并算法。
(1)分组group by提示
分组主要有 hash、order 两种算法。
这里的hash算法,和 关联提示中的hash算法,是相类似的,只不过这里通过hash算法不是用来join表,而是用来分组、去重数据的。
order 算法,也就是通过排序来分组、去重,比如:distinct 去重。
(2)合并union提示
union 是用来合并数据的,有 union all 不去重、union 去重,共两种。
合并有 concat,hash,merge 三种算法。
其中,hash、merge类似于join表时的 hash、merge 算法,对应 union 操作。
concat是串连的union,也就是把数据以串行的方式,合并在一起,对应 union all 操作。
通过分组、合并提示,可以强制sql server优化器采用特定的分组、合并算法。
(1)分组group by提示
分组主要有 hash、order 两种算法。
这里的hash算法,和 关联提示中的hash算法,是相类似的,只不过这里通过hash算法不是用来join表,而是用来分组、去重数据的。
order 算法,也就是通过排序来分组、去重,比如:distinct 去重。
(2)合并union提示
union 是用来合并数据的,有 union all 不去重、union 去重,共两种。
合并有 concat,hash,merge 三种算法。
其中,hash、merge类似于join表时的 hash、merge 算法,对应 union 操作。
concat是串连的union,也就是把数据以串行的方式,合并在一起,对应 union all 操作。
相关文章推荐
- SQL Server 学习(1)子查询(in,not in)、多表查询、合并表(union、union all)、分组(group by)、分组的条件(having)、虚拟表、标量值函数、外键
- Sql Server:多行合并成一行,并做分组统计的两个方法
- sql server——分组查询(方法和思想)
- SQL Server 优化---为什么索引视图(物化视图)需要with(noexpand)强制查询提示
- SQL SERVER--查询提示
- SQL SERVER中 用FOR XML PATH将查询结果以XML输出 然后应用于 sql 合并字段功能介绍
- SQL Server查询提示(4):隔离级别提示
- 【SQL】通过Sql实现根据分组合并指定列内容的查询 SamWang
- Sql Server:多行合并成一行,并做分组统计的两个方法
- SQL Server查询提示(6):优化器提示
- Sql Server:多行合并成一行,并做分组统计
- sql 分组查询,组内排序, 组内添加序号 (SQL Server 排序函数 ROW_NUMBER和RANK 用法总结)
- SQL Server 2017新增:string_agg函数(分组合并字符串)
- SQL Server学习笔记(一)【认识SQL Server查询及分组嵌套查询】
- SQL Server查询分组结果中第一条记录的方法
- Sql Server:多行合并成一行,并做分组统计的两个方法
- SQL Server 优化---为什么索引视图(物化视图)需要with(noexpand)强制查询提示
- SQL Server 优化---为什么索引视图(物化视图)需要with(noexpand)强制查询提示
- sql server模糊查询、分组
- Day53、表连接、合并结果集、组函数和分组、子查询、表操作(创建、删除、更新)、事务控制语句