UNION 文節の操作
UNION 文節は、2 つの副照会の出力の組み合わせを指定します。 2 つの照会では、同じ数のエレメントと互換タイプが戻される必要があります。
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 が EmpBean のサブタイプ
である、タイプ ManagerBean のすべての管理者オブジェクトのコレクションが戻されます。
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