[sql] 데이터의 교집합을 계산하는 스칼라 함수 (INTERSECT 등)

데이터베이스 쿼리에서 교집합을 계산하고 싶을 때, INTERSECT와 관련된 스칼라 함수를 사용할 수 있습니다. 이 함수는 두 개 이상의 SELECT 문의 결과를 비교하여 공통된 행을 반환합니다.

INTERSECT 사용하기

INTERSECT 키워드는 두 개 이상의 SELECT 문의 결과를 비교하는 데 사용됩니다. 예를 들어, 다음과 같이 두 개의 SELECT 문을 이용하여 교집합을 찾을 수 있습니다.

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

위의 예제에서는 table1table2의 결과에서 공통된 행을 반환하게 됩니다.

INNER JOIN을 이용한 교집합 계산

또 다른 방법은 INNER JOIN을 이용하여 교집합을 계산하는 것입니다. 두 테이블 간에 조건을 적용하여 공통된 결과를 얻습니다.

SELECT t1.column1, t1.column2
FROM table1 t1
INNER JOIN table2 t2 ON t1.column1 = t2.column1
                      AND t1.column2 = t2.column2;

위의 쿼리는 table1table2 사이에서 column1과 column2의 값이 동일한 행을 반환하게 됩니다.

정리

교집합을 계산하는 데 INTERSECT 또는 INNER JOIN을 사용할 수 있습니다. 각각의 방법은 목적에 따라 적합한 방법을 선택할 수 있습니다.

참고문헌: