DATA/데이터베이스 / / 2024. 9. 19. 10:09

UNION vs UNION ALL 사용법 차이

반응형
UNION 이란

 

UNION은 Oracle SQL에서 두 개 이상의 SELECT 쿼리의 결과를 결합하는 데 사용됩니다. 각 쿼리는 동일한 열 수와 데이터 형식을 가져야 하며, UNION을 사용하면 두 쿼리의 결과를 합쳐서 하나의 결과 집합으로 반환합니다. UNION은 중복된 행을 자동으로 제거합니다. 만약 중복을 허용하고 싶다면, UNION ALL을 사용해야 합니다.

 

 

기본 구문

 

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

 

주요 특징
  1. 열 개수 및 데이터 유형 일치: 각 SELECT 쿼리에서 반환하는 열의 수와 데이터 유형이 동일해야 합니다.
  2. 중복 제거: UNION은 중복된 행을 제거합니다.
  3. 순서 지정: ORDER BY는 마지막 쿼리에서만 사용할 수 있으며, 결합된 전체 결과 집합에 적용됩니다.

예시

 

1. 중복 제거 UNION

SELECT first_name, last_name
FROM employees
WHERE department_id = 10
UNION
SELECT first_name, last_name
FROM employees
WHERE department_id = 20;

 

2. 중복 허용 UNION ALL

SELECT first_name, last_name
FROM employees
WHERE department_id = 10
UNION ALL
SELECT first_name, last_name
FROM employees
WHERE department_id = 20;

 

3. ORDER BY 사용

SELECT first_name, last_name
FROM employees
WHERE department_id = 10
UNION
SELECT first_name, last_name
FROM employees
WHERE department_id = 20
ORDER BY last_name;

 

UNION vs UNION ALL 차이

 

UNION: 중복을 제거하고 결합된 결과를 반환합니다. 성능이 UNION ALL보다 느릴 수 있습니다.
UNION ALL: 중복을 허용하여 결합된 결과를 반환합니다. 중복 제거 작업이 없으므로 더 빠르게 처리될 수 있습니다.

 

결론

 

  • UNION은 여러 SELECT 쿼리의 결과를 하나로 결합하고 중복된 데이터를 제거하는 데 사용됩니다.
  • 중복된 행을 포함하고 싶다면 UNION ALL을 사용합니다.
  • 각 쿼리는 동일한 열 수와 데이터 유형을 반환해야 합니다.

 

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유