[sql] INTERSECT 연산자를 사용한 조건에 맞는 데이터 필터링 방법

SQL에서 INTERSECT 연산자는 두 개 이상의 SELECT 문의 결과에서 공통으로 나타나는 행을 반환하는데 사용됩니다. 이를 통해 조건에 맞는 데이터를 필터링하고 결과를 얻을 수 있습니다.

다음은 INTERSECT 연산자를 사용하여 데이터를 필터링하는 예제입니다:

SELECT column1, column2
FROM table1
WHERE condition1
INTERSECT
SELECT column1, column2
FROM table2
WHERE condition2;

위의 예제에서는 table1과 table2에서 column1과 column2를 선택하고 각각의 테이블에 조건을 적용한 후 INTERSECT로 연결하여 공통으로 나타나는 행을 반환합니다.

예를 들어, customers 테이블과 orders 테이블이 있다고 가정해봅시다. customers 테이블에서는 age가 30 이상이고 gender가 ‘F’인 고객을, orders 테이블에서는 order_date가 ‘2021-01-01’ 이후인 주문을 필터링하고 싶을 때 다음과 같이 쿼리를 작성할 수 있습니다:

SELECT customer_id, customer_name
FROM customers
WHERE age >= 30
    AND gender = 'F'
INTERSECT
SELECT customer_id, customer_name
FROM orders
WHERE order_date >= '2021-01-01';

위의 쿼리는 customers 테이블과 orders 테이블에서 조건에 맞는 행을 필터링하고, 두 테이블에서 동일한 customer_id와 customer_name을 가진 행만 반환합니다.

INTERSECT 연산자를 사용하여 조건에 맞는 데이터를 필터링할 수 있으며, 이를 활용하여 원하는 결과를 얻을 수 있습니다.

참고 자료