[sql] INTERSECT 연산자를 사용하여 서로 다른 열에서 같은 값 추출 방법

SQL에서 INTERSECT 연산자는 두 개 이상의 SELECT 문 결과에서 공통된 값만 추출하는데 사용됩니다. 이 연산자를 사용하여 서로 다른 열에서 같은 값을 추출하는 방법을 알아보겠습니다.

문제

아래와 같은 두 개의 테이블이 있다고 가정해봅시다.

테이블1: employees | id | name | |—-|———–| | 1 | John | | 2 | Alice | | 3 | Michael | | 4 | Sarah |

테이블2: customers | id | name | |—-|———–| | 1 | John | | 5 | Emma | | 4 | Sarah | | 6 | Peter |

두 테이블 간에 존재하는 이름(name)이 같은 데이터를 추출하고 싶습니다.

해결 방법

아래의 SQL 쿼리를 사용하여 두 테이블에서 INTERSECT 연산을 수행할 수 있습니다.

SELECT name FROM employees
INTERSECT
SELECT name FROM customers;

위의 쿼리는 employees 테이블과 customers 테이블에서 이름(name) 열의 공통된 값만을 반환합니다. 즉, ‘John’과 ‘Sarah’만이 추출됩니다.

결과

name
John
Sarah

참고 자료