JB의 이모저모
MySQL UNION vs UNION ALL 본문
문제를 풀다가 두 테이블을 합쳐야 하는 경우가 생겨서 찾아보니 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 |