[sql] EXCEPT 연산자와 UNION 연산자의 차이점은?
SQL에서 EXCEPT와 UNION은 두 개의 다른 연산자입니다.
- EXCEPT 연산자 EXCEPT 연산자는 첫 번째 집합에 존재하는 항목들 중에서 두 번째 집합에도 존재하는 항목들을 제외하는 작업을 수행합니다. 즉, 첫 번째 집합에서 두 번째 집합에도 존재하는 행들을 제외하여 결과를 반환합니다.
예를 들어, 아래와 같은 두 개의 집합이 있다고 가정해보겠습니다.
집합 A: 1, 2, 3, 4, 5
집합 B: 3, 4, 5, 6, 7
A EXCEPT B를 수행하면 결과는 다음과 같이 됩니다.
결과: 1, 2
- UNION 연산자 UNION 연산자는 두 개의 집합을 하나로 합치는 작업을 수행합니다. 이 때, 중복되는 항목들은 하나의 항목으로만 처리하게 됩니다.
예를 들어, 아래와 같은 두 개의 집합이 있다고 가정해보겠습니다.
집합 A: 1, 2, 3
집합 B: 3, 4, 5
A UNION B를 수행하면 결과는 다음과 같이 됩니다.
결과: 1, 2, 3, 4, 5
따라서, EXCEPT 연산자는 두 개의 집합 사이의 차이를 구하고자 할 때 사용되며, UNION 연산자는 두 개의 집합을 합치고자 할 때 사용됩니다.
[참고 사이트]
- Microsoft Docs. “EXCEPT 및 INTERSECT 연산자 (Transact-SQL)” (https://docs.microsoft.com/ko-kr/sql/t-sql/language-elements/set-operators-except-and-intersect-transact-sql)