[sql] INTERSECT 연산자를 사용한 특정 테이블과의 교집합 조회 방법
데이터베이스에서 교집합을 구할 때 INTERSECT
연산자를 사용할 수 있습니다. 이 연산자를 사용하면 두 개의 SELECT 문의 결과에서 공통된 레코드만을 반환할 수 있습니다.
아래는 INTERSECT
연산자를 사용하여 특정 테이블과의 교집합을 조회하는 방법에 대한 예시입니다.
SELECT column1, column2, ...
FROM table1
INTERSECT
SELECT column1, column2, ...
FROM table2;
위 예시에서 table1
과 table2
는 교집합을 구하고자 하는 두 개의 테이블을 나타냅니다. column1
, column2
, …은 교집합을 구할 때 반환할 컬럼들입니다.
예를 들어, Customers
테이블과 Orders
테이블에서 공통된 고객 정보를 조회하고 싶을 때, 아래와 같이 쿼리를 작성할 수 있습니다.
SELECT CustomerID, CustomerName
FROM Customers
INTERSECT
SELECT CustomerID, CustomerName
FROM Orders;
위 쿼리 결과로는 Customers
테이블과 Orders
테이블에서 공통된 CustomerID
와 CustomerName
컬럼 값을 가진 레코드들이 반환됩니다.
INTERSECT
연산자를 사용하여 교집합을 구할 때, 주의해야 할 점은 반환되는 레코드는 중복을 허용하지 않는다는 것입니다. 즉, table1
과 table2
모두에 동일한 레코드가 여러 개 존재하더라도, 교집합 결과에서는 중복된 레코드는 한 번만 나타납니다.
이와 같이 INTERSECT
연산자를 사용하여 특정 테이블과의 교집합을 조회할 수 있습니다.
참고 문서: Microsoft Docs - INTERSECT Operator