[sql] INTERSECT 연산자와 UNION 연산자의 차이점

SQL에서는 INTERSECT 연산자와 UNION 연산자를 사용하여 여러 개의 쿼리 결과를 조합할 수 있습니다. 이 둘은 각각 다음과 같은 차이점을 가지고 있습니다.

INTERSECT 연산자

INTERSECT 연산자는 두 개의 쿼리 결과 세트에서 공통으로 존재하는 행만을 반환합니다. 즉, 두 쿼리의 결과를 비교하여 공통된 결과만을 출력합니다. 아래는 INTERSECT 연산자를 사용한 예제입니다.

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

위의 쿼리는 table1table2에서 동일한 column1column2를 가지고 있는 행을 반환합니다. INTERSECT 연산자를 사용하여 중복되지 않는 공통 결과를 얻을 수 있습니다.

UNION 연산자

UNION 연산자는 두 개의 쿼리 결과 세트를 합쳐서 하나의 결과 세트로 반환합니다. 즉, 두 개의 쿼리 결과를 합쳐서 중복을 제거한 후 출력합니다. 아래는 UNION 연산자를 사용한 예제입니다.

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

위의 쿼리는 table1table2에서 가져온 모든 column1column2를 포함한 결과를 반환합니다. 중복된 행은 한 번만 출력됩니다. UNION 연산자를 사용하여 중복을 제거하고 결과를 합칠 수 있습니다.

결론

INTERSECT 연산자와 UNION 연산자는 각각 공통된 결과와 중복을 제거한 결과를 반환하는데 사용됩니다. INTERSECT 연산자는 두 개의 쿼리 결과 세트에서 공통된 행만을 반환하며, UNION 연산자는 두 개의 쿼리 결과 세트를 합칠 때 중복을 제거합니다. 이를 적절히 활용하여 원하는 데이터를 조회하고 조합할 수 있습니다.

참고 자료