sqlserver中的union,cube,rollup和cumpute运算符
时 间:2008-04-22 10:28:49
作 者:金宇整理 ID:43 城市:江阴
摘 要:sqlserver中的union,cube,rollup和cumpute运算符
正 文:
union 运算符是将两个或更多查询的结果组合为单个结果集
该结果集包含联合查询中的所有查询的全部行。这与使用联接组合两个表中的列不同。
使用 union 组合查询的结果集有两个最基本的规则:
1。所有查询中的列数和列的顺序必须相同。
2。数据类型必须兼容
a.union的结果集列名与第一个select语句中的结果集中的列名相同,其他select语句的结果集列名被忽略
b.默认情况下,union 运算符是从结果集中删除重复行。如果使用all关键字,那么结果集将包含所有行并且不删除重复行
c.sql是从左到右对包含union 运算符的语句进行取值,使用括号可以改变求值顺序
--例如:
select * from tablea
union all
(
select * from tableb
union all
select * from tablec
)
这样就可以先对tableb和tablec合并,再合并tablea
d.如果要将合并后的结果集保存到一个新数据表中,那么into语句必须加入到第一条select中
e.只可以在最后一条select语句中使用 order by 和 compute 子句,这样影响到最终合并结果的排序和计数汇总
f.group by 和 having 子句可以在单独一个select查询中使用,它们不影响最终结果
--例如:
select name as 姓名,class as 班级,grade as 年级
into #students
from stud87
union all
select * from stud88
union all
select * from stud89
order by 年级
将3个班级的合并结果(按grade排序)插入到临时表 #students里面
用 cube 汇总数据
cube 运算符生成的结果集是多维数据集。多维数据集是事实数据的扩展,事实数据即记录个别事件的数据。扩展建立在用户打算分析的列上。这些列被称为维。多维数据集是一个结果集,其中包含了各维度的所有可能组合的交叉表格。
cube 运算符在 select 语句的 group by 子句中指定。该语句的选择列表应包含维度列和聚合函数表达式。group by 应指定维度列和关键字 with cube。结果集将包含维度列中各值的所有可能组合,以及与这些维度值组合相匹配的基础行中的聚合值。
例如,一个简单的表 inventory 中包含:
item color quantity
-------------------- -------------------- ----------
table blue 124
table red 223
chair blue 101
chair red 210
下列查询返回的结果集中,将包含 item 和 color 的所有可能组合的 quantity 小计:
select item, color, sum(quantity) as qtysum
from inventory
group by item, color with cube
下面是结果集:
item color qtysum
-------------------- -------------------- ---------
chair &nb
Access软件网官方交流QQ群 (群号:54525238)
Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- 【Access高效办公】如何让vb...(04.11)
- 仓库管理实战课程(10)-入库功能...(04.08)
- Access快速开发平台--Fun...(04.07)
- 仓库管理实战课程(9)-开发往来单...(04.02)
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)
- 仓库管理实战课程(5)-字段属性(03.27)
- 设备装配出入库管理系统;基于Acc...(03.24)
- 仓库管理实战课程(4)-建表操作(03.22)