[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 |
Leave a comment