[sql] INTERSECT 연산자와 UNION 연산자의 차이점
SQL에서는 INTERSECT 연산자와 UNION 연산자를 사용하여 여러 개의 쿼리 결과를 조합할 수 있습니다. 이 둘은 각각 다음과 같은 차이점을 가지고 있습니다.
INTERSECT 연산자
INTERSECT 연산자는 두 개의 쿼리 결과 세트에서 공통으로 존재하는 행만을 반환합니다. 즉, 두 쿼리의 결과를 비교하여 공통된 결과만을 출력합니다. 아래는 INTERSECT 연산자를 사용한 예제입니다.
SELECT column1, column2
FROM table1
INTERSECT
SELECT column1, column2
FROM table2;
위의 쿼리는 table1
과 table2
에서 동일한 column1
과 column2
를 가지고 있는 행을 반환합니다. INTERSECT 연산자를 사용하여 중복되지 않는 공통 결과를 얻을 수 있습니다.
UNION 연산자
UNION 연산자는 두 개의 쿼리 결과 세트를 합쳐서 하나의 결과 세트로 반환합니다. 즉, 두 개의 쿼리 결과를 합쳐서 중복을 제거한 후 출력합니다. 아래는 UNION 연산자를 사용한 예제입니다.
SELECT column1, column2
FROM table1
UNION
SELECT column1, column2
FROM table2;
위의 쿼리는 table1
과 table2
에서 가져온 모든 column1
과 column2
를 포함한 결과를 반환합니다. 중복된 행은 한 번만 출력됩니다. UNION 연산자를 사용하여 중복을 제거하고 결과를 합칠 수 있습니다.
결론
INTERSECT 연산자와 UNION 연산자는 각각 공통된 결과와 중복을 제거한 결과를 반환하는데 사용됩니다. INTERSECT 연산자는 두 개의 쿼리 결과 세트에서 공통된 행만을 반환하며, UNION 연산자는 두 개의 쿼리 결과 세트를 합칠 때 중복을 제거합니다. 이를 적절히 활용하여 원하는 데이터를 조회하고 조합할 수 있습니다.