본문 바로가기
카테고리 없음

SELECT문 중복된 데이터만 추출하기 INTERSECT (교집합)

by kangs' tong 2023. 12. 2.

INTERSECT (교집합)이란?

개요

INTERSECT는 SQL의 SELECT문에서 중복된 데이터만 추출하기 위해 사용되는 연산자입니다. 교집합을 구하는 것과 비슷한 개념으로, 두 개 이상의 SELECT문의 결과를 비교하여 공통된 데이터만을 추출합니다.

문법

INTERSECT 연산자는 다음과 같은 문법으로 사용됩니다.

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

예시

예를 들어, 'Customers' 테이블과 'Orders' 테이블이 있다고 가정해보겠습니다. 'Customers' 테이블은 고객에 관한 정보를, 'Orders' 테이블은 주문에 관한 정보를 담고 있습니다. 이 때, 두 테이블에서 공통적으로 주문을 한 고객들의 정보를 추출하고 싶다면 INTERSECT를 사용할 수 있습니다.

SELECT CustomerName, CustomerID
FROM Customers
INTERSECT
SELECT CustomerName, CustomerID
FROM Orders;

위의 예시에서는 'Customers' 테이블에서 'CustomerName'과 'CustomerID' 컬럼을 추출하고, 'Orders' 테이블에서도 동일한 컬럼들을 추출한 후, 두 결과를 비교하여 공통된 고객 정보를 추출하게 됩니다.

주의사항

  • INTERSECT 연산자는 대부분의 DBMS에서 지원하지만, 일부 DBMS에서는 지원하지 않을 수 있으므로 사용 전에 DBMS의 문서를 확인하는 것이 좋습니다.
  • INTERSECT 연산자는 SELECT문에서만 사용할 수 있으며, INSERT, UPDATE, DELETE 등의 문에서는 사용할 수 없습니다.

전체 내용 정리

INTERSECT 연산자는 SQL에서 중복된 데이터를 추출하기 위해 사용되며, 교집합을 구하는 개념입니다.

  • INTERSECT 연산자는 SELECT문에서만 사용할 수 있습니다.
  • 두 개 이상의 SELECT문의 결과를 비교하여 공통된 데이터만을 추출합니다.
  • INTERSECT 연산자는 대부분의 DBMS에서 지원하지만, 일부 DBMS에서는 지원하지 않을 수 있으므로 사용 전에 DBMS의 문서를 확인해야 합니다.

댓글