[MySQL/MariaDB] Union all 사용법
동일한 컬럼을 가지고 있는 두 테이블은 JOIN과 ON절을 이용해서 합칠 수 있다.
하지만 동일한 컬럼을 가지고 있지 않은데 검색결과를 함께보고싶다면 고려해봐야할 것이 바로 union all을 사용해보자.
- JOIN: 수직결합
- UNION: 수평결합
- UNION: 중복데이터 제거
- UNION ALL: 중복여부와 상관없이 모든 데이터 출력
만약 과일가게테이블과 편의점테이블이 아래처럼 있다고 생각해보자.
과일가게테이블
1
2
3
4
5
6
7
8과일가게테이블
+--------+--------+
| 품 명 | 가 격 |
+--------+--------+
| 바나나 | 1500 |
| 딸기 | 2000 |
| 사과 | 2000 |
+--------+--------+편의점테이블
1
2
3
4
5
6
7
8편의점테이블
+--------+--------+
| 품 명 | 가 격 |
+--------+--------+
| 바나나 | 1500 |
| 사과 | 2500 |
| 하리보 | 2000 |
+--------+--------+
UNION
중복데이터 제거한 결과가 출력된다.
1 | SELECT * FROM 과일가게테이블 |
UNION ALL
중복여부와 상관없이 모든 데이터 출력된다.
1 | SELECT * FROM 과일가게테이블 |