集合处理
1, UNION(快), UNION ALL(并集)
union all不会去除重复行
2,EXCEPT | INTERSECT
较两个查询的结果,返回非重复值。
EXCEPT 从左查询中返回右查询没有找到的所有非重复值。(差集)
INTERSECT 返回 INTERSECT 操作数左右两边的两个查询都返回的所有非重复值。(交集)
3,集合操作的基本规则:
1)所有查询中的列数和列的顺序必须相同
2)数据类型必须兼容
4,使用top n是返回子集 的好办法
关于数组的模仿
由于SQL没有内嵌的数组,所以可以使用table来模仿数组。比如:
--几维数组就有几个id,但是一般说来只有一个value,这样比较方便使用
create table t(id int identity(0,1), value nvarchar(8000))
这样,就可以访问id作为下标,value作为值。当然,如果给做了identity、primary key或者index的话,效率肯定更好,而且也能有效的防止数据的重复。