PostgreSQL Union, Union ALL 예제 포함
⚡ 스마트 요약
PostgreSQL UNION은 두 개 이상의 SELECT 문의 결과를 하나의 결과 집합으로 결합하고 중복 행을 제거하는 반면, UNION ALL은 모든 행을 유지하므로 중복이 중요하지 않은 경우 더 빠른 옵션을 제공합니다.

PostgreSQL 노동 조합?
The PostgreSQL UNION 연산자는 두 개 이상의 SELECT 명령문에서 나온 결과 집합을 하나의 결과 집합으로 결합하는 데 사용됩니다. SELECT 명령문의 결과에서 중복된 행은 제거됩니다. UNION 연산자는 두 가지 조건에서 작동합니다.
- SELECT 쿼리는 동일한 개수의 열을 반환해야 합니다.
- 해당하는 모든 열의 데이터 유형은 호환 가능해야 합니다.
UNION 연산자는 일반적으로 완벽하게 정규화되지 않은 관련 테이블의 데이터를 결합하는 데 사용됩니다.
통사론
SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)] UNION SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)];
위의 매개변수에 대한 설명은 다음과 같습니다.
표현식_1, 표현식_2, … 표현식_n은 검색해야 하는 계산 또는 열입니다.
테이블은 레코드를 검색해야 하는 테이블입니다.
WHERE 조건은 레코드를 검색하기 위해 충족해야 하는 조건입니다.
참고 : UNION 연산자는 중복을 반환하지 않으므로 UNION DISTINCT를 사용해도 결과에는 영향을 미치지 않습니다.
PostgreSQL 노동 조합
UNION 연산자는 다음과 같은 방식으로 중복을 제거합니다. 구별 선택 그렇습니다. 이를 증명해 보이겠습니다. Demo라는 데이터베이스에는 다음과 같은 테이블이 있습니다.
도서:
가격:
다음 명령을 실행해 보겠습니다.
SELECT id FROM Book UNION SELECT id FROM Price;
이 명령은 다음을 반환합니다.
id 열은 Book 테이블과 Price 테이블 모두에 나타납니다. 그러나 결과에는 한 번만 나타납니다. 그 이유는 PostgreSQL UNION 연산자는 중복을 반환하지 않습니다.
PostgreSQL 유니온 올
이 연산자는 중복을 제거하지 않고 여러 SELECT 명령문의 결과 집합을 결합합니다. 이 연산자는 각 SELECT 명령문이 유사한 데이터 유형의 결과 집합에서 유사한 수의 필드를 갖도록 요구합니다.
구문 :
SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)] UNION ALL SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)];
위의 매개변수에 대한 설명은 다음과 같습니다.
표현식_1, 표현식_2, … 표현식_n은 검색해야 하는 계산 또는 열입니다.
테이블은 레코드를 검색해야 하는 테이블입니다.
WHERE 조건은 레코드를 검색하기 위해 충족해야 하는 조건입니다.
참고 : 두 SELECT 문은 동일한 개수의 표현식을 포함해야 합니다.
다음 표를 사용하겠습니다.
도서:
가격:
다음 명령을 실행하십시오.
SELECT id FROM Book UNION ALL SELECT id FROM price;
다음을 반환해야 합니다.
중복 항목은 제거되지 않았습니다.
주문
The PostgreSQL UNION 연산자는 ORDER BY 절과 함께 사용하여 쿼리 결과를 정렬할 수 있습니다. 이를 보여주기 위해 다음 테이블을 사용합니다.
가격:
가격2:
다음은 ORDER BY 절과 함께 UNION 연산자를 사용하는 방법을 보여주는 명령입니다.
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price;
이 명령은 다음을 반환합니다.
기록은 가격 열을 기준으로 정렬되었습니다. 이 절은 기본적으로 레코드를 오름차순으로 정렬합니다. 내림차순으로 정렬하려면 아래와 같이 DESC 절을 추가하세요.
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price DESC;
이 명령은 다음을 반환합니다.
가격 열을 기준으로 내림차순으로 레코드가 정렬되었습니다.
Union은 언제 사용하고 Union All은 언제 사용해야 할까요?
구조가 비슷하지만 어떤 이유로 분리해야 하는 여러 테이블이 있을 때 UNION 연산자를 사용하세요. 중복 레코드를 제거하거나 없애야 할 때 유용합니다.
중복된 레코드를 제거하거나 없앨 필요가 없을 때는 UNION ALL 연산자를 사용하십시오.
pgAdmin 사용
이제 pgAdmin을 사용하여 이 세 가지 작업을 모두 수행하는 방법을 살펴보겠습니다.
이용 방법 PostgreSQL pgAdmin을 사용한 연합
다음은 사용 방법에 대한 단계별 과정입니다. PostgreSQL pgAdmin을 통한 UNION:
단계 1) pgAdmin 계정에 로그인하세요.
단계 2) 왼쪽 탐색 모음에서 데이터베이스를 클릭한 다음 데모를 클릭합니다.
단계 3) 쿼리 편집기에 쿼리를 입력합니다.
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price DESC;
단계 4) 실행 버튼을 클릭하세요.
다음을 반환해야 합니다.
유니온 올
단계 1) pgAdmin 계정에 로그인하세요.
단계 2) 왼쪽 탐색 모음에서 데이터베이스를 클릭한 다음 데모를 클릭합니다.
단계 3) 쿼리 편집기에 쿼리를 입력합니다.
SELECT id FROM Book UNION ALL SELECT id FROM price;
단계 4) 실행 버튼을 클릭하세요.
다음을 반환해야 합니다.
주문
UNION ALL 연산자는 ORDER BY 절과 결합하여 결과 집합의 결과를 정렬할 수 있습니다. 예를 들어:
SELECT id FROM Book UNION ALL SELECT id FROM price ORDER BY id;
이 명령은 다음을 반환합니다.
결과가 주문되었습니다.

















