数据库UNION和UNION ALL比较

UNION能够把结果集合并

select * from A union select * from B

如果能确定没有重复行,建议使用UNION ALL,不用排序。

  1. order by子句必须写在最后一个结果集里,并且其排序规则将改变操作后的排序结果。对于Union、Union All、Intersect、Minus都有效。
  2. Union可以对字段名不同但数据类型相同的结果集进行合并;
  3. 如果字段名不同的结果集进行Union,那么对此字段的Order by子句将失效。
  4. Union,对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;
  5. Union All,对两个结果集进行并集操作,包括重复行,不进行排序;
  6. Intersect,对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;
  7. Minus,对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序。
  8. 可以在最后一个结果集中指定Order by子句改变排序方式。
updatedupdated2023-12-062023-12-06