본문 바로가기
카테고리 없음

Union,UnionAll 사용법 & 예제

by kangs' tong 2023. 10. 2.

Union

Union 연산자는 두 개의 SELECT 문의 결과를 결합하여 하나의 결과 집합으로 반환하는 데 사용됩니다. 이 때, 중복된 행은 제거됩니다.

사용법

SELECT column1, column2, ... FROM table1
UNION
SELECT column1, column2, ... FROM table2;

예제

예를 들어, Employees 테이블과 Managers 테이블이 있다고 가정해봅시다. 각각의 테이블에는 사원들의 정보가 포함되어 있습니다.

Employees 테이블
| EmployeeID | EmployeeName |
|------------|--------------|
| 1 | John |
| 2 | Alice |
| 3 | Bob |

Managers 테이블
| ManagerID | ManagerName |
|-----------|-------------|
| 10 | Sarah |
| 11 | David |

위의 두 테이블에서 EmployeeName 열을 기준으로 UNION 연산을 수행하면 다음과 같은 결과를 얻을 수 있습니다.

결과
| EmployeeName |
|--------------|
| John |
| Alice |
| Bob |
| Sarah |
| David |

Union All

Union All 연산자는 Union과 마찬가지로 두 개의 SELECT 문의 결과를 결합하지만, 중복 행을 제거하지 않습니다. 따라서 중복된 행도 결과에 포함됩니다.

사용법

SELECT column1, column2, ... FROM table1
UNION ALL
SELECT column1, column2, ... FROM table2;

예제

위의 예제와 마찬가지로 Employees 테이블과 Managers 테이블에서 EmployeeName 열을 기준으로 UNION ALL 연산을 수행하면 다음과 같은 결과를 얻을 수 있습니다.

결과
| EmployeeName |
|--------------|
| John |
| Alice |
| Bob |
| Sarah |
| David |

여기까지 UnionUnion All 연산자의 사용법과 예제를 알아보았습니다.

마지막으로, Union 연산은 중복된 행을 제거하여 결과를 반환하지만, Union All 연산은 중복 행을 제거하지 않고 모든 결과를 반환한다는 차이점이 있습니다. 따라서, 중복을 제거할 필요가 없는 경우에는 Union All을 사용하는 것이 성능적으로 더 좋을 수 있습니다.

댓글