SQL UNION 사용 방법 (조회 결과 병합)
- Database
- 2022. 10. 4.
UNION
은 SELECT
문으로 조회한 결과를 결합할 때 사용합니다. 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 판매자;
[결과]
주소 |
---|
서울 |
서울 |
대전 |
대전 |
인천 |
인천 |
부산 |
부산 |
광주 |
광주 |
반응형
'Database' 카테고리의 다른 글
MYSQL ibdata1 파일 삭제해도 될까? 용량 줄이는 방법 (0) | 2022.11.15 |
---|---|
SQL, AND OR (NOT) IN 연산자 사용 방법 (0) | 2022.11.08 |
SQL Server 서로 다른 DB 테이블 조인 방법 (0) | 2022.09.20 |
RDBMS vs NoSQL 차이 (NoSQL 사용 이유) (0) | 2022.09.04 |
DB 스키마란? (관계형 데이터베이스 구조) (0) | 2022.09.03 |