>  기사  >  백엔드 개발  >  유니온과 유니온 올의 차이점

유니온과 유니온 올의 차이점

巴扎黑
巴扎黑원래의
2016-11-29 12:00:331476검색

Union과 Union All의 차이점

두 개의 Select 문의 결과를 전체적으로 표시하려면 Union 또는 Union All 키워드를 사용해야 합니다. Union(또는 Union)의 기능은 여러 결과를 결합하여 함께 표시하는 것입니다.

Union과 Union All의 차이점은 Union은 중복 결과를 여러 결과 집합으로 자동으로 압축하는 반면, Union All은 중복 여부에 관계없이 모든 결과를 표시한다는 점입니다.


Union: 두 결과 집합을 합치고, 중복 행을 제외하고 기본 규칙에 따라 정렬합니다.

Union All: 두 결과 집합을 합칩니다. 중복 행을 포함한 작업은 정렬되지 않습니다. ;

교차: 중복 행을 제외하고 두 결과 집합에 대해 교차 작업을 수행하고 동시에 기본 규칙에 따라 정렬합니다.

빼기: 두 결과 집합에 대해 교차 작업을 수행합니다. set은 중복 행을 제외하고 차이 연산을 수행하고 기본 규칙에 따라 정렬합니다.

마지막 결과 집합에 Order by 절을 지정하여 정렬 방법을 변경할 수 있습니다.

예:

직원에서 직원 ID, 작업 ID 선택
조합
작업 히스토리에서 직원 ID, 작업 ID 선택

위는 두 테이블의 결과를 결합합니다. 이 두 가지 예는 두 개의 select 문의 결과에서 중복된 값을 압축합니다. 즉, 결과 데이터는 두 결과의 개수의 합이 아닙니다. 중복된 결과를 표시하려면 다음과 같이 Union All을 사용할 수 있습니다.

2. Oracle의 scott 사용자에는 emp 테이블이 있습니다.
select * from emp where deptno >= 20
union all
select * from emp where deptno <= 30
여기 결과에는 중복된 값이 많이 있습니다.

Union 및 Union All 키워드에 대해 주의할 사항은 다음과 같습니다.

Union과 Union 모두 두 개가 아닌 여러 개의 결과 집합을 병합할 수 있습니다. 여러 문자열 결과 집합을 함께 결합할 수 있습니다.
Union 및 Union All을 사용할 경우 각 선택 세트의 결과에 동일한 수의 열이 있고 각 열의 유형이 동일한지 확인해야 합니다. 그러나 열 이름이 반드시 동일할 필요는 없습니다. Oracle은 첫 번째 결과의 열 이름을 결과 집합의 열 이름으로 사용합니다. 예를 들어, 다음은 예입니다.
select empno,ename from emp
union
select deptno,dname from dept
각 선택 결과 세트에서 order by 절을 사용할 필요가 없습니다. sort, we 전체 결과를 정렬하려면 마지막에 order by를 사용할 수 있습니다. 예:
emp에서 empno,ename 선택
union
dept에서 deptno,dname 선택
ename으로 주문;


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.