CS/데이터베이스(DB)

[DB] Union vs Union All (+JOIN)

혀니리리 2023. 12. 17. 19:02
728x90

UNION 과 UNION ALL 이란 (tistory.com)

 

UNION 과 UNION ALL 이란

UNION 이란 여러 쿼리문들을 합쳐서 하나의 쿼리문으로 만들어주는 방법이다. 중복된 값을 제거하고 보여준다. 중복된 값을 제거하는 연산이 추가로 수행되기 때문에 UNION ALL보다 속도가 느리다.

silverji.tistory.com

 

UNION 

* 여러 쿼리문을 합쳐서 하나의 쿼리문으로 만들어주는 방법

* 중복된값을 제거하고 보여줌

* 중복된 값을 제거하는 연산이 추가로 수행되기 떄문에 UNION ALL 보다 속도 느림

 

UNION ALL

* UNION과 동일

* but 중복된 값을 모두 보여줌

 

  • 컬럼명이 동일해야 한다. (같지 않을 경우 AS 를 이용해서 동일하게 맞춰줘야 한다.)
  • 컬럼별로 데이터 타입이 동일해야 한다.
  • 출력할 컬럼의 개수가 동일해야 한다.
  • 출력할 컬럼명을 차례로 적고, 알리어스(AS) 를 통해 컬럼명을 동일하게 맞춰준다.
SELECT A AS one, B AS two 
FROM TABLE_A
UNION (또는 UNION ALL)
SELECT C AS one, D AS two 
FROM TABLE_B
;

 

JOIN과 차이점

여러 쿼리문을 결합한다는 의미에서 JOIN과 헷갈릴 수 있으니 그에 대해 설명하려고 한다.

가장 간단하게 보자면 다음과 같다.

  • JOIN : 새로운 열로 결합한다. (수평결합)
  • UNION : 새로운 행으로 결합한다. (수직결합)

 

 

JOIN

 

UNION

728x90

'CS > 데이터베이스(DB)' 카테고리의 다른 글

[DB] NoSQL (+Redis)  (0) 2023.12.17
[DB] clustered / non clustered index  (0) 2023.12.17
[DB] 정규화  (1) 2023.12.17
[DB] 키(key)  (0) 2023.12.17
트랜잭션  (0) 2023.09.27