Union
把多次查询的结果合并成一个表返回。
如
Select [ID],[Name] From [T1]
Union
Select [ID],[Name] From [T2]
[T1]和[T2]的结构可以不一样,但查询的字段类型要一样。
Union:不用 Order By 时,自动对返回结果排序。
Union All:不用 Order By 时,不对返回结果排序。
例子
如 [T1] 表记录很多,在查询时,如果使用 Order By 会严重影响查询速度
方法1
Select [ID],[Name] From [T1] Where [ClassID]=1 Order By [IsPayment] Desc
方法2
创建一个视图
Create View [V_T1_IsPayment] As Select * From [T1] Where [IsPayment]=1
Select [ID],[Name] From [V_T1_IsPayment] Where [ClassID]=1
Union All
Select [ID],[Name] From [T1] Where [ClassID]=1 And [IsPayment]=0
这样,就不用 Order By 使 IsPayment=1 的排在前面
方法1和方法2查询的结果是一样的,但方法2速度会快,省了排序的时间。
ClassID、IsPayment 都要建索引。



