[sql] INTERSECT 연산자를 사용한 결과 데이터 통계 추출 방법

SQL에서 INTERSECT 연산자는 두 개 이상의 SELECT 문의 결과를 비교하여 교집합을 구하는 데 사용됩니다. INTERSECT 연산자는 공통된 결과만 반환하며, 중복된 값을 제거하여 보여줍니다. 이 연산자를 사용하여 결과 데이터의 통계를 추출하는 방법을 알아보겠습니다.

1. INTERSECT 연산자

INTERSECT 연산자는 다음과 같은 형식으로 사용됩니다:

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

2. 결과 데이터 통계 추출 방법

INTERSECT 연산자를 사용하여 결과 데이터의 통계를 추출하는 방법은 다음과 같습니다:

  1. 두 개의 SELECT 문을 작성하여 교집합을 구합니다.
  2. INTERSECT 연산자를 사용하여 두 SELECT 문의 결과를 비교하여 공통된 결과를 얻습니다.
  3. 필요한 경우 집계 함수를 사용하여 통계를 추출합니다. 예를 들어, COUNT 함수를 사용하여 결과의 총 개수를 구할 수 있습니다.

다음은 예제 코드입니다:

SELECT COUNT(*)
FROM (
    SELECT column1, column2, ...
    FROM table1
    INTERSECT
    SELECT column1, column2, ...
    FROM table2
) AS result;

위의 코드는 두 개의 테이블(table1과 table2)에서 column1, column2 등의 공통된 열을 비교하여 교집합을 구하고, 그 결과의 총 개수를 구하는 예제입니다.

3. 예제

아래는 실제 예제를 통해 INTERSECT 연산자를 사용하여 결과 데이터의 통계를 추출하는 방법을 보여줍니다:

-- 예제 테이블
CREATE TABLE table1 (id INT, name VARCHAR(50));
CREATE TABLE table2 (id INT, name VARCHAR(50));

-- 테이블 데이터 삽입
INSERT INTO table1 VALUES (1, 'John');
INSERT INTO table1 VALUES (2, 'Sarah');
INSERT INTO table1 VALUES (3, 'Michael');

INSERT INTO table2 VALUES (3, 'Michael');
INSERT INTO table2 VALUES (4, 'David');
INSERT INTO table2 VALUES (5, 'Emily');

-- 결과 데이터 통계 추출
SELECT COUNT(*)
FROM (
    SELECT id, name
    FROM table1
    INTERSECT
    SELECT id, name
    FROM table2
) AS result;

위의 예제에서는 table1과 table2라는 두 개의 테이블에서 id와 name 열을 비교하여 교집합을 구하고, 그 결과의 총 개수를 구합니다.

4. 결론

INTERSECT 연산자를 사용하여 결과 데이터의 통계를 추출하는 방법에 대해 알아보았습니다. 이를 활용하여 데이터베이스에서 공통된 결과를 찾거나 데이터 분석 작업을 수행할 수 있습니다. 자신의 프로젝트나 작업에 따라 INTERSECT 연산자를 사용하여 결과 데이터를 유용하게 활용해보세요.