DB/SQL
집합쿼리
lavender1122
2023. 12. 29. 12:26
집합 연산자를 사용시 집합 구성할 컬럼의 데이터 타입 동일해야함
UNION : 합집합 / 중복제거
- 두 테이블의 결합을 나타내며, 결합 시키는 두 테이블의 중복되지 않은 값들을 반환
더보기

SELECT SALARY
, DEPARTMENT_ID
, FIRST_NAME
FROM EMPLOYEES e
WHERE DEPARTMENT_ID = 50
UNION
SELECT SALARY
, NULL AS DEPARTMENT_ID
, FIRST_NAME
FROM EMPLOYEES e2
WHERE DEPARTMENT_ID = 30
;

UNION ALL : 합집합 / 중복 제거 안함
- UNION과 같으나두 테이블 중복되는 값까지 반환
더보기

SELECT deptno FROM emp
UNION ALL
SELECT deptno FROM dept;

INTERSECT : 교집합
- 두 행의 집합 중 공통된 행 반환
더보기

SELECT deptno FROM emp
INTERSECT
SELECT deptno FROM dept;

MINUS : 차집합
- 첫번째 SELECT문에 의해 반환되는 행중에서 두번째 SELECT문에 의해 반환되는 행에 존재하지 않는 행들을 보여줌
더보기

SELECT deptno FROM dept
MINUS
SELECT deptno FROM emp;
