Union과 Union All의 차이점
두 개의 Select 문의 결과를 전체적으로 표시하려면 Union 또는 Union All 키워드를 사용해야 합니다. Union(또는 Union)의 기능은 여러 결과를 결합하여 함께 표시하는 것입니다.
Union과 Union All의 차이점은 Union은 중복 결과를 여러 결과 세트로 자동으로 압축하는 반면, Union All은 중복 여부에 관계없이 모든 결과를 표시한다는 점입니다.
Union: 중복 행을 제외하고 기본 규칙에 따라 정렬하는 두 결과 집합의 합집합
Union All: 두 결과 집합의 합집합, 정렬 없이 중복 행을 포함한 작업.
마지막 결과 집합에 Order by 절을 지정하여 정렬 방법을 변경할 수 있습니다.
예:
직원에서 직원 ID, 작업 ID 선택
조합작업 히스토리에서 직원 ID, 작업 ID 선택
위는 두 테이블의 결과를 결합합니다. 이 두 가지 예는 두 개의 select 문의 결과에서 중복된 값을 압축합니다. 즉, 결과 데이터는 두 결과의 개수의 합이 아닙니다. 중복된 결과를 표시하려면 다음과 같이 Union All을 사용할 수 있습니다.
2. Oracle의 scott 사용자에는 emp 테이블이 있습니다.
union all
select * from emp where deptno <= 30여기의 결과에는 중복된 값이 많이 있습니다.
Union 및 Union All 키워드에 대해 주의할 사항은 다음과 같습니다.
Union과 Union 모두 두 개가 아닌 여러 개의 결과 집합을 병합할 수 있습니다. 여러 문자열 결과 집합을 함께 결합할 수 있습니다.
select empno,ename from emp
unionselect deptno,dname from dept
각 선택 결과 세트에서 order by 절을 사용할 필요가 없습니다. sort, we 전체 결과를 정렬하려면 마지막에 order by를 사용할 수 있습니다. 예:
emp에서 empno,ename 선택
union
dept에서 deptno,dname 선택
ename으로 주문;