학습 자료

UNION과 UNION ALL

UNIONUNION ALL은 두 개 이상의 SELECT 쿼리 결과를 결합하는 데 사용하는 SQL 집합 연산자입니다.

  • UNION: 중복을 제거하고 결과를 반환
  • UNION ALL: 중복을 포함한 모든 행을 반환

Syntax

UNIONUNION ALL의 기본 문법은 다음과 같습니다.

UNION 문법
SELECT column1, column2 FROM table1 UNION [ALL] SELECT column1, column2 FROM table2;

규칙:

  • 각 쿼리는 동일한 개수의 열을 반환해야 합니다
  • 데이터 타입이 서로 호환되어야 합니다
  • 결과 집합의 열 이름은 첫 번째 SELECT에서 가져옵니다

예시: 두 해의 사용자 데이터 결합

2023년과 2024년 가입자를 비교한다고 가정해 보겠습니다.

users_2023

user_idname
1지민
2서준
3하윤

users_2024

user_idname
1지민
3하윤
4도윤

예시: UNION

다음 쿼리는 두 해의 모든 사용자를 반환합니다.

UNION 사용
SELECT user_id, name FROM users_2023 UNION SELECT user_id, name FROM users_2024;

결과:

user_idname
1지민
2서준
3하윤
4도윤

UNION은 중복을 제거하므로 동일한 사용자(user_id = 1, 3)는 한 번만 표시됩니다.


예시: UNION ALL

다음 쿼리는 중복을 포함해 두 해의 모든 사용자를 반환합니다.

UNION ALL 사용
SELECT user_id, name FROM users_2023 UNION ALL SELECT user_id, name FROM users_2024;

결과:

user_idname
1지민
2서준
3하윤
1지민
3하윤
4도윤

언제 사용할까

  • 중복을 제거하려면 UNION 사용
  • 성능이 중요하거나 중복 행이 의미가 있을 때는 UNION ALL 사용

UNION ALL은 중복 제거 과정을 건너뛰므로 일반적으로 더 빠릅니다.

Quiz
0 / 1

결합된 결과 집합에 중복 행이 없으면 UNION과 UNION ALL은 동일한 결과를 반환한다.

학습 자료

AI 튜터

도움말

코드 에디터

코드 실행
코드 생성

DB 테이블 구조

실행 결과