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

Union,UnionAll 사용법 & 예제

by nono22 2023. 12. 14.

Union과 Union All

1. Union

  • Union은 두 개 이상의 SELECT 문의 결과를 하나의 결과 테이블로 결합하는 SQL 연산자입니다.
  • 각 SELECT 문의 결과는 동일한 열 수와 해당 열과 호환되는 데이터 유형을 가져야 합니다.
  • Union은 중복된 행을 제거하고 유일한 결과 행만 반환합니다.
  • Union은 결과 테이블에서 중복된 행을 찾고 제거하기 위해 결과를 정렬하기 때문에 성능이 더욱 좋지 않을 수 있습니다.
  • Union은 다음과 같은 형식으로 작성됩니다:
SELECT column1, column2, ... 
FROM table1
UNION
SELECT column1, column2, ... 
FROM table2;

2. Union All

  • Union All은 Union과 비슷하지만 중복된 행을 제거하지 않고 모두 반환합니다.
  • Union All은 Union에 비해 더 빠르게 실행될 수 있으며 중복 행을 제거하지 않으므로 결과 테이블에 중복된 행이 포함될 수 있습니다.
  • Union All의 사용은 결과가 중복되는 것이 무관하고 단순히 결과를 연결하고자 할 때 유용합니다.
  • Union All은 다음과 같은 형식으로 작성됩니다:
SELECT column1, column2, ... 
FROM table1
UNION ALL
SELECT column1, column2, ... 
FROM table2;

예제

1. Union 예제

SELECT first_name, last_name, age 
FROM employees
WHERE age < 30
UNION
SELECT first_name, last_name, age 
FROM interns
WHERE age < 30;

위의 예제는 employees 테이블과 interns 테이블에서 나이(age)가 30 미만인 사용자의 이름과 나이를 선택합니다. Union을 사용하여 두 결과를 결합하여 중복된 행을 제거한 후 결과를 반환합니다.

2. Union All 예제

SELECT first_name, last_name, age 
FROM employees
WHERE age < 30
UNION ALL
SELECT first_name, last_name, age 
FROM interns
WHERE age < 30;

위의 예제는 같은 테이블과 동일한 조건을 사용하지만 Union All을 사용하여 중복된 행을 제거하지 않고 결과를 반환합니다.

댓글