UNION 子句操作
UNION 子句指定两个子查询的输出的组合。两个查询必须返回相同数目的元素和兼容类型。
为使用 UNION,认为同一继承层次结构中的所有 Enterprise JavaBeans (EJB) 类型都兼容。UNION
要求对元素类型定义等式。
query_expression := query_term [UNION [ALL] query_term]* query_term := {select_clause_dynamic from_clause [where_clause] [group_by_clause] [having_clause] } | (query_expression) }
不能将从属值对象与 UNION 配合使用。
UNION ALL 会将所有结果组合到单个集合中。
UNION 会组合结果,但会除去重复项。
如果将 ORDER BY 与 UNION 一起使用,那么 ORDER BY 必须指使用整数的查询表达式。
示例:UNION 操作
此示例返回类型为
EmpBean 的所有职员对象和类型为 ManagerBean 的所有经理对象的集合,其中
ManagerBean 是 EmpBean 的子类型。
select e from EmpBean e union all select m from DeptBean d, in(d.mgr) m
此示例显示无效查询,原因是 EmpBean 与 DeptBean 不兼容。
select e from EmpBean e union all select d from DeptBean d