SQL UNION 사용 방법 (조회 결과 병합)

UNIONSELECT 문으로 조회한 결과를 결합할 때 사용합니다. A 테이블에서 조회한 컬럼과 B 테이블에서 조회한 컬럼의 결과를 하나의 테이블에 보여주는 식입니다.

 

다만 UNION은 아래의 조건을 만족시켜야 정상 작동합니다.

  • 동일한 수의 열을 조회해야 합니다.
  • 양쪽 열의 데이터 타입이 비슷해야 합니다.
  • 열을 나열하는 순서가 동일해야 합니다.

UNION

UNION 구문

SELECT 컬럼명 FROM 테이블1
UNION
SELECT 컬럼명 FROM 테이블2;

UNION ALL 구문

UNION은 조회되는 결과의 중복을 제거합니다. 중복을 제거하지 않고 조회를 원하면 UNION ALL을 사용하면 됩니다.

SELECT 컬럼명 FROM 테이블1
UNION ALL
SELECT 컬럼명 FROM 테이블2;

1. UNION 예시

중고거래를 하는 사이트에 고객 5명과 판매자 5명이 있다고 가정해보겠습니다.

 

[고객 테이블]

고객ID 이름 주소
1 고객1 서울
2 고객2 대전
3 고객3 인천
4 고객4 부산
5 고객5 광주

 

[판매자 테이블]

판매자ID 이름 주소
1 판매자1 서울
2 판매자2 대전
3 판매자3 인천
4 판매자4 부산
5 판매자5 광주

 

각 테이블의 주소를 조회하는 쿼리를 UNION 해보겠습니다.

SELECT 주소 FROM 고객
UNION
SELCT 주소 FROM 판매자;

[결과]

주소
서울
대전
인천
부산
광주

2. UNION ALL 예시

SELECT 주소 FROM 고객
UNION ALL
SELCT 주소 FROM 판매자;

[결과]

주소
서울
서울
대전
대전
인천
인천
부산
부산
광주
광주

 

반응형

댓글

Designed by JB FACTORY