PostgreSQL Union, Union ALL 예제 포함
PostgreSQL 노동 조합?
이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 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 id FROM Book UNION ALL SELECT id FROM price;
다음을 반환해야 합니다.
중복 항목은 제거되지 않았습니다.
주문
이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 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을 사용한 연합
pgAdmin을 통해 동일한 작업을 수행하려면 다음을 수행하십시오.
단계 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;
이 명령은 다음을 반환합니다.
결과가 주문되었습니다.
요약
- 이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 PostgreSQL UNION 연산자는 두 개 이상의 결과를 결합합니다. SELECT 문 하나의 결과 세트로 만듭니다.
- UNION 연산자는 중복된 레코드를 반환하지 않습니다.
- 결과를 정렬하려면 ORDER BY 절과 결합하세요.
- UNION ALL 연산자는 두 개 이상의 SELECT 문의 결과를 하나의 결과 집합으로 결합합니다.
- UNION ALL 연산자는 중복을 제거하지 않습니다.