集合操作在两个输入中比较全部行。
Union:返回包含两个输入中所有行的结果集,如果未指定all选项,UNION将从结果集中移除重复行。
Except:返回出现在左输入但未出现在右输入的不重复行。
Intersect:返回在两个输入中都出现过的不重复行
Order By字句不能用于集合操作的单个查询中,你只能在查询的最后指定Order By子句,但它将被应用于集合操作的结果
在逻辑处理方面,每个输入查询先按各自的步骤被分别处理。然后,再应用集合操作,如果指定了Order By字句,再把它应用到结果集。
例子:
1、union
select * from orders where customerid like '%O%'
union
select * from orders where customerid like '%S%'
order by orderid
2、except
select * from orders where customerid like '%O%'
except
select * from orders where customerid like '%S%'
order by orderid
3、intersect
select * from orders where customerid like '%O%'
intersect
select * from orders where customerid like '%S%'
order by orderid