SET OPERATOR

  • 두 개 이상의 테이블에서 JOIN을 사용하지 않고 연관된 데이터를 조회하는 방법
  • JOIN은 컬럼을 추가하여 추가 데이터를 표현했지만, 집합 연산자는 ROW를 추가하여 추가데이터 표현
  • SELECT절의 컬럼 수가 동일해야함
  • SELECT절의 동일 위치에 존재하는 컬럼 데이터가 상호 호환 가능해야함

UNION : (A U B) 조회결과를 합치고 중복값 제거, 첫번째 컬럼으로 정렬

SELECT EMP_ID, EMP_NAME, DEPT_CODE, SALARY
FROM EMPLOYEE
WHERE DEPT_CODE = 'D5'
UNION
SELECT EMP_ID, EMP_NAME, DEPT_CODE, SALARY
FROM EMPLOYEE
WHERE SALARY > 3000000;

UNION ALL : 두 조회결과를 합침, 중복제거X, 정렬X

SELECT EMP_ID, EMP_NAME, DEPT_CODE, SALARY
FROM EMPLOYEE
WHERE DEPT_CODE = 'D5'
UNION ALL
SELECT EMP_ID, EMP_NAME, DEPT_CODE, SALARY
FROM EMPLOYEE
WHERE SALARY > 3000000;

INTERSECT : 두 조회 결과 중 중복되는 데이터만

SELECT EMP_ID, EMP_NAME, DEPT_CODE, SALARY
FROM EMPLOYEE
WHERE DEPT_CODE = 'D5'
INTERSECT
SELECT EMP_ID, EMP_NAME, DEPT_CODE, SALARY
FROM EMPLOYEE
WHERE SALARY > 3000000;

MINUS : 첫번째 조회결과에서 두번째 조회결과에 겹치는 데이터만 제거

SELECT EMP_ID, EMP_NAME, DEPT_CODE, SALARY
FROM EMPLOYEE
WHERE DEPT_CODE = 'D5'
MINUS
SELECT EMP_ID, EMP_NAME, DEPT_CODE, SALARY
FROM EMPLOYEE
WHERE SALARY > 3000000;

profile
A previous generalist who strives to become a genuine Specialist.

0개의 댓글

Powered by GraphCDN, the GraphQL CDN