반응형
0. 목적
MariaDB를 사용하여, 여러 쿼리의 결과값을 한 번에 합쳐서 표현하는 UNION
쿼리 명령어에 대해 알아보도록 한다.
1. 참고
범주 | 환경 |
OS | Windows 11 Home |
DBMS | HeidiSQL 12.3.0.6589 |
예제 DB | world DB (하단 링크 참고) |
2. Union과 Union All
여러개의 SELECT
쿼리의 결과값을 한 결과 집합으로 표시해주는 연산자이다. UNION
연산자를 사용하기 위해서는 SELECT
문으로 선택된 각 필드의 타입과 갯수, 순서가 같아야 한다.
각 필드의 타입과 갯수, 순서를 맞추어야 하기 때문에 각 칼럼의 세로로 데이터가 쌓여 합쳐지게 된다.
2-1. Union
SELECT [칼럼명]
FROM [데이터베이스명].[테이블명]
UNION
SELECT [칼럼명]
FROM [데이터베이스명].[테이블명];
UNION
의 사용법은 상기 코드를 참고하자. SELECT
구문 두개 사이에 UNION
연산자를 추가하여 결과값을 합치게 된다.
UNION
연산자는 두 테이블의 SELECT
결과값에서 여러개로 중복되는 레코드값은 제거하고, 한 개의 값만 표시한다.
▣ 예제
world 데이터베이스의 city 테이블 Population 칼럼값과, country 테이블 Population 칼럼값을 합쳐서 한 번에 출력하라. 다만, 중복되는 값들은 제거한다.
더보기
2-1-1. 코드
SELECT Population FROM world.city
UNION
SELECT Population FROM world.country;
2-1-2. 실행결과
2-2. Union All
SELECT [칼럼명]
FROM [데이터베이스명].[테이블명]
UNION ALL
SELECT [칼럼명]
FROM [데이터베이스명].[테이블명];
UNION ALL
의 사용법 또한 동일하다.
다만 UNION
과의 차이점이 있는데, UNION ALL
연산자는 두 테이블의 SELECT
결과값에서 여러개로 중복되는 레코드값을 제거하지 않고 모두 보여준다는 것이 차이점이 되겠다.
▣ 예제
world 데이터베이스의 city 테이블 Population 칼럼값과, country 테이블 Population 칼럼값을 합쳐서 한 번에 출력하라. 중복되는 값도 모두 허용한다.
더보기
2-1-1. 코드
SELECT Population FROM world.city
UNION ALL
SELECT Population FROM world.country;
2-1-2. 실행결과
300x250
반응형