[SQL] 069. 집합 연산자로 데이터의 교집합을 출력하기

Updated:

초보자를 위한 SQL 200제 교재를 토대로 공부한 내용입니다.

오라클 SQL을 기반으로 합니다.

실습에 사용한 테이블은 정보문화사 홈페이지에서 받을 수 있습니다.


[예시]

INTERSECT를 이용해 데이터의 교집합을 출력 가능하다.

UNION처럼 중복된 데이터는 제거하며 첫 번째 컬럼을 기준으로 오름차순 정렬하여 출력된다.

-- INTERSECT
-- UNION과 마찬가지로 중복된 데이터가 있다면 제거 / 오름차순 정렬
-- 중복의 기준은 "행 단위"
SELECT ENAME, SAL, JOB, DEPTNO
FROM EMP
WHERE DEPTNO IN (10, 20)

INTERSECT

SELECT ENAME, SAL, JOB, DEPTNO
FROM EMP
WHERE DEPTNO IN (20, 30);

[결과]

DEPTNO(부서번호)가 20인 교집합만 출력되었다.

ENAME SAL JOB DEPTNO
ADAMS 1100 CLERK 20
FORD 3000 ANALYST 20
JONES 2975 MANAGER 20
SCOTT 3000 ANALYST 20
SMITH 800 CLERK 20

Tags:

Categories:

Updated:

Leave a comment