본문 바로가기

DB/MySQL · MariaDB

[MySQL • MariaDB] Union / Union All Query 사용하기

 

율토리에서는 그 동안의 데이터를 모아서 집계 하려고 한참 작업중이다.

그러다보니, Union 쿼리를 사용을 하게 된다.

율토리 주민들은 Union 쿼리가 뭔지 공부하고 있다.

 

Union 과 UnionAll 은 무엇일까?

 

간단히 말하자면, 여러개의 쿼리문을 하나의 쿼리문으로 만들어준다고 생각하면 된다.

음. 2개의 query 결과가 한 query 결과 처럼 나온다 해야할까?

 

 

그렇다면 Union 과 UnionAll 은 무슨 차이가 있을까?

 

Union

두 쿼리 결과의 중복값 제거

실행 속도 느림
Union All두 쿼리 결과의 중복값도 모두 포함.실행 속도 빠름

 

 

* 주의점

Union 을 사용할때는 각각의 query 문의 컬럼 수는 동일해야한다.

또 한, 데이터타입, 순서도 동일해야 한다.

 

SELECT 컬럼1, 컬럼2, 컬럼3 FROM 테이블 A
UNION (또는 UNION ALL)
SELECT 컬럼4, 컬럼5, 컬럼6 FROM 테이블 B