학습 자료

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은 중복을 제거하므로 동일한 행은 한 번만 반환됩니다.


예시: 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 테이블 구조

실행 결과