Union, Union All 및 Union Distinct 연산자 간의 SQL 차이점

Union Union All Mich Union Distinct Yeonsanja Gan Ui Sql Chaijeom



SQL은 둘 이상의 SELECT 문의 결과 집합을 단일 결과 집합으로 결합할 수 있는 UNION 연산자를 제공합니다. SQL에는 UNION, UNION ALL 및 UNION DISTINCT의 세 가지 기본 유형의 UNION 연산자가 있습니다.

이 자습서에서는 이러한 세 가지 유형의 UNIONS를 살펴보고 이러한 UNION 작업에 대한 실제적이고 실용적인 예를 제공합니다.







메모: 이 예에서는 데모 목적으로 샘플 Sakila 데이터베이스를 사용합니다. 이 명령을 실행하기 전에 설치했는지 확인하십시오. 이에 대한 자습서를 확인하여 자세히 알아볼 수 있습니다.



SQL UNION 연산자

언급한 바와 같이 UNION 연산자를 사용하면 둘 이상의 select 문의 결과 집합을 결합하고 중복 값을 제거할 수 있습니다. UNION 연산자의 구문은 다음과 같습니다.



SELECT 열1, 열2, ...
표 1에서
노동 조합
SELECT 열1, 열2, ...
표2에서;


이전 예제 구문에서는 SELECT 문을 사용하여 지정된 테이블에서 데이터를 검색합니다. 그런 다음 UNION 연산자는 두 개의 결과 집합을 하나의 집합으로 결합합니다. Sakila 데이터베이스에 정의된 행위자 테이블을 사용하여 이를 수행하는 방법에 대한 예를 들어 보겠습니다.





액터 테이블과 고객 테이블에서 액터의 이름과 성을 검색하는 다음 예제 쿼리를 고려하십시오.

SELECT 이름, 성
배우로부터
노동 조합
SELECT 이름, 성
고객으로부터; SELECT 이름, 성
배우로부터
노동 조합
SELECT 이름, 성
고객으로부터;


이전 쿼리는 행위자와 고객 테이블 모두에서 이름과 성을 감염시키고 값을 단일 결과로 반환합니다.



예제 출력은 다음과 같습니다.

SQL UNION ALL 연산자

결과 집합에서 중복 값을 제거하는 UNION 연산자와 달리 UNION 연산자는 중복 값을 포함하여 테이블의 모든 행을 반환합니다.

구문은 다음과 같습니다.

SELECT 열1, 열2, ...
표 1에서
유니온 올
SELECT 열1, 열2, ...
표2에서;


다음 예에서는 Sakila 데이터베이스의 행위자 및 고객 테이블에서 이름과 성을 선택합니다.

SELECT 이름, 성
배우로부터
유니온 올
SELECT 이름, 성
고객으로부터;


예제 출력은 다음과 같습니다.

SQL UNION DISTINCT 연산자

다른 유형의 합집합 연산자는 UNION DISTINCT입니다. 이 연산자는 단순히 유사한 작업을 수행하는 UNION 연산자의 복제본입니다.

구문은 다음과 같습니다.

SELECT 열1, 열2, ...
표 1에서
유니온 디스팅트
SELECT 열1, 열2, ...
표2에서;


SELECT 문은 지정된 테이블에서 데이터를 검색하고 UNION DISTINCT 연산자는 결과 집합을 고유한 행을 포함하는 단일 결과 집합으로 결합합니다.

Sakila 데이터베이스의 예에서 다음 명령을 실행할 수 있습니다.

SELECT 이름, 성
배우로부터
유니온 디스팅트
SELECT 이름, 성
고객으로부터;


이것은 UNION 연산자와 유사한 결과를 반환해야 합니다.

결론

SQL에서 다양한 유형의 UNIONS를 사용하는 방법을 배웠습니다. UNION 연산자는 둘 이상의 select 문의 결과 집합을 결합하고 중복 레코드를 제거합니다. UNION ALL은 유사한 작업을 수행하지만 모든 중복 행을 포함합니다. 마지막으로 UNION DISTINCT는 기본 UNION 연산자와 동일합니다.