对于 UNION 来说用户可以指定 UNION 的属性为 ALL(集合可重复) 和 DISTINCT/UNIQUE(集合不可重复)。所有的集合操作默认的属性是 DISTINCT(OceanBase 的 DISTINCT 和 UNIQUE 的语义语法是相同的),而其他的几种集合操作是不能指定属性的。

    执行计划

    如下例所示,带有 ALL 属性的集合操作不要求下层有序。

    当集合操作两边出现类型不一致的时候,SQL 层会为 UNION 左右两边的表达式分配 CAST 转换,这个操作在 EXPLAIN 中是可见的。