데이터베이스/MySQL

다중 테이블 연산 - UNION

Seollica 2020. 4. 1. 15:28

  UNION 란?

여러 개의 쿼리의 합집합으로, 여러 개의 SQL문을 합쳐 하나의 SQL문으로 만들 때 사용한다.

 

▶ UNION의 규칙 

 • 각 SELECT의 컬럼의 수가 같아야 한다.

 • 컬럼명이 같아야 한다. ( 같지 않을 경우 alias를 사용하여 같게 만듦)

 • 컬럼별 데이터타입이 같아야 한다. ( 반환 가능한 형태 )

 • 하나의 ORDER BY만 사용한다.

 • SELECT문들의 순서는 상관없다.

 

▶ UNION의 종류

 • UNION : 여러 개의 쿼리의 중복 값을 제거한 결과를 출력한다.

DISTINCT 키워드를 따로 명시하지 않아도 중복되는 레코드를 제거하여 출력한다.

UNION의 예

 

 • UNION ALL : 여러 개의 쿼리 결과가 중복이 되더라도 전부 결과에 반영하여 출력한다.

UNION에서는 중복되는 결과를 모두 제거하여 출력하므로, 중복되는 값도 출력하길 원한다면 UNION ALL 을 사용한다.

 속도 면에서는 UNOIN ALL >  UNION

UNION ALL의 예