[SQL]Join VS Union
Join 과 Union 공통점 : 하나 이상의 테이블의 데이터 결합
Join 과 Union 차이점 : 데이터가 결합되는 방식
ex)
A테이블
col1 | col2
-----------
A | 1
B | 1
C | 2
C | 2
D | 3
B테이블
col1 | col2
-----------
A | 가
A | 나
B | 나
C | 나
D | 다
- Join : 새로운 열로 결합 (수평결합)
-> 두 개의 테이블 결합 시, 첫 번째 테이블의 데이터는 동일한 행의 두 번째 테이블 열과 함께 한 열 세트에 표시
SELECT A.col1, A.col2, B.col2
FROM A
INNER JOIN B
ON A.col1 = B.col1;
결과)
A.col1 A.col2 B.col2
-----------------------
A 1 가
A 1 나
B 1 나
C 2 나
C 2 나
D 3 다
- Union : 새로운 행으로 결합(수직결합)
-> 두 개의 테이블 결합 된 경우, 첫번째 테이블의 데이터는 한 행 세트에 있고 / 두 번째 테이블 데이터는 다른 세트에
-> select 에 컬럼 수는 맞춰서 진행해야 한다.
SELECT col1, col2
FROM A
UNION
SELECT col1, col2
FROM B;
결과)
col1 col2
-----------
A 1
B 1
C 2
D 3
A 가
A 나
B 나
C 나
D 다