UNION 절 연산
UNION 절은 두 가지 부속조회의 출력 조합을 지정합니다. 두 가지 조회는 동일한 개수의 요소 및 호환 가능 유형을 리턴해야 합니다.
UNION의 용도에 따라, 동일한 상속 계층 구조의 모든 EJB(Enterprise JavaBeans) 유형이
호환 가능한 것으로 간주됩니다. 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