JB의 이모저모

MySQL UNION vs UNION ALL 본문

SQL/공부

MySQL UNION vs UNION ALL

J B 2023. 10. 2. 22:31

문제를 풀다가 두 테이블을 합쳐야 하는 경우가 생겨서 찾아보니 UNION을 알게 되었다.

 

UNION

  • 두 개의 테이블을 하나로 만드는 연산. 두 개 테이블의 컬럼 수, 컬럼 데이터 형식이 모두 일치해야한다.
  • 중복된 데이터는 제거한다.

UNION ALL

  • 두 개의 테이블을 하나로 만드는 연산. 두 개 테이블의 컬럼 수, 컬럼 데이터 형식이 모두 일치해야한다.
  • 중복을 허용한다. 즉 모든 데이터를 보여줌

주의 사항

만약 컬럼 명이 다르다면 별명  AS를 사용하여 이름을 같게 만들어줘야한다.

 

예시

TABLE_A

ID NAME
1 A
2 B
3 C

TABLE_B

ID NAME
1 A
2 B
4 D
5 F

 

UNION SQL 문

SELECT * FROM TABLE_A
UNION
SELECT * FROM TABLE_B

결과

ID NAME
1 A
2 B
3 C
4 D
5 F

 

UNION ALL SQL문

SELECT * FROM TABLE_A
UNION ALL
SELECT * FROM TABLE_B

결과

ID NAME
1 A
2 B
3 C
1 A
2 B
4 D
5 F

'SQL > 공부' 카테고리의 다른 글

MySQL Join 정리  (1) 2023.10.02
MySQL 문법 정리  (0) 2023.09.30