[MySQL] Union

sunny·2025년 3월 8일

Union이란?

  • 두 개 이상의 SELECT 결과를 하나로 합칠 때
  • 단, UNION을 사용할 때는 각 SELECT 문이 동일한 컬럼 개수와 데이터 타입을 가져야 한다.

예제

customers

idname
1김첨지
2홍길동

employees

idnickname
1미키
2마우스
SELECT name AS 'nickname' FROM customers
UNION
SELECT nickname FROM employees;

결과

nickname
김첨지
홍길동
미키
마우스

UNIONJOIN 비교

UNIONJOIN
기준여러 테이블의 행을 병합여러 테이블을 연결
열 개수동일해야 함다를 수 있음
중복UNION은 제거, UNION ALL은 유지중복될 수 있음
성능느림 (중복 제거 비용 발생)상대적으로 빠름

👉 UNION ALL 을 사용하여 중복 제거 과정을 없애면 성능을 향상 시킬 수 있음

  • UNION vs. UNION ALL
    • UNION → 중복 제거 (DISTINCT 동작)
    • UNION ALL → 중복 제거 없이 모든 행 포함

0개의 댓글