티스토리 뷰

728x90
반응형

SQL에서 'UNION'과 'UNION ALL'은 두 개 이상의 SELECT 문에서 반환된 결과를 결합하는 데 사용된다.

 

말로 하니까 어려운데 예를 들어 아래와 같이 사용한다고 보면 된다.

SELECT column1, column2 FROM table1
UNION
SELECT column1, column2 FROM table2;

그럼 'UNION'과 'UNION ALL', 두 명령어의 차이는 뭐냐,

 

결론부터 말하자면 '중복제거 연산의 유무'이다.

 

조금 상세히 정리하자면 다음과 같다.

 

UNION

 

'UNION'은 결과 세트에서 중복된 행을 제거한다.

 

그러니까 두 SELECT 문에서 동일한 데이터를 반환하면 해당 데이터는 결과 세트에 한 번만 포함된다.

 

이와 같은 중복 제거 작업 때문에 'UNION' 은 'UNION ALL' 보다 일반적으로 더 많은 연산을 요구하며, 성능이 떨어질 수 있다.

 

UNION ALL

 

'UNION ALL'은 중복된 행을 제거하지 않고 결과에 모두 포함한다.

 

따라서 두 SELECT 문에서 동일한 데이터를 반환하면 해당 데이터는 결과 세트에 중복으로 포함된다.

 

중복 제거 작업을 수행하지 않기 때문에 일반적으로 'UNION'보다 성능이 좋다.

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함