[sql] INTERSECT 연산자를 사용한 두 개 이상의 조건 연산 방법

SQL에서 INTERSECT 연산자는 두 개 이상의 조건을 만족하는 결과를 반환하는데 사용됩니다. 이 연산자를 사용하여 두 개 이상의 SELECT 문의 결과를 비교하고 공통 레코드만을 출력할 수 있습니다.

아래 예제를 통해 INTERSECT 연산자를 사용한 방법을 자세히 알아보겠습니다.

-- 테이블 생성
CREATE TABLE employees (
    employee_id INT,
    first_name VARCHAR(50),
    last_name VARCHAR(50)
);

-- employees 테이블에 데이터 삽입
INSERT INTO employees (employee_id, first_name, last_name)
VALUES
    (1, 'John', 'Doe'),
    (2, 'Jane', 'Smith'),
    (3, 'Alice', 'Johnson');

-- SELECT 문을 사용하여 공통된 레코드 출력
SELECT employee_id, first_name, last_name
FROM employees
WHERE first_name = 'John'

INTERSECT

SELECT employee_id, first_name, last_name
FROM employees
WHERE last_name = 'Smith';

위 코드에서는 employees 테이블을 생성하고 몇 개의 레코드를 삽입한 후, INTERSECT 연산자를 사용하여 두 개의 SELECT 문 결과를 비교하고 공통된 레코드를 출력하고 있습니다.

결과는 다음과 같이 출력됩니다:

employee_id | first_name | last_name
------------|------------|-----------
      1     |    John    |    Doe

위 예제에서는 첫 번째 SELECT 문에서는 ‘John’이라는 first_name을 가진 레코드를, 두 번째 SELECT 문에서는 ‘Smith’라는 last_name을 가진 레코드를 출력하도록 지정했습니다. 결과적으로, 두 개의 SELECT 문이 공통적으로 만족하는 레코드는 하나뿐이기 때문에 해당 레코드만 출력됩니다.

이와 같이 INTERSECT 연산자를 사용하여 두 개 이상의 조건을 만족하는 레코드를 출력할 수 있습니다. 이를 활용하면 특정 조건을 만족하는 레코드를 보다 간편하게 추출할 수 있습니다.

자세한 내용은 아래의 참고 자료를 참고하시기 바랍니다.