반응형
0. 목적
MariaDB를 사용하여, 여러 쿼리의 결과값을 한 번에 합쳐서 표현하는 UNION
쿼리 명령어에 대해 알아보도록 한다.
1. 참고
범주 | 환경 |
OS | Windows 11 Home |
DBMS | HeidiSQL 12.3.0.6589 |
예제 DB | world DB (하단 링크 참고) |
[MySQL] MySQL 샘플 데이터베이스, 공식 다운로드 및 적용하는 방법
0. 목적 MySQL 연습을 위해, MySQL 에서 공식적으로 제공하는 샘플 데이터베이스를 다운로드 받는 방법을 알아본다. 동시에, 내려받은 샘플 데이터베이스를 GUI 환경인 MySQL Workbench를 이용해 MySQL에
acredev.tistory.com
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
반응형