ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Oracle - SET(UNION, UNION ALL, INTERSECT, MINUS)
    DataBase/Oracle 2024. 8. 21. 22:16
    반응형

    SET

    두 select문을 통해 얻어온 결과에 대해 집합 연산을 할 수 있는 명령문이다.
    두 select문을 통해 가져온 컬럼의 형태가 완전히 일치해야 한다.

     

    UNION : 합집합 

    UNION ALL : 합집합, 중복된 데이터를 모두 가져온다.

    INTERSECT : 교집합

    MINUS : 차집합

     

     

    10번 부서에 근무하고 있는 사원의 사원번호, 이름, 직무, 근무부서 번호
    SELECT deptno, ename, job, empno
    FROM emp
    WHERE deptno = 10;

     

     

    직무가 clerk인 사원의 사원번호, 이름, 직무, 근무부서 번호
    SELECT empno, ename, job, deptno
    FROM emp
    WHERE job = 'CLERK';

     

     

    UNION : 합집합

    SELECT empno, ename, job, deptno
    FROM emp
    WHERE deptno = 10
    UNION 
    SELECT empno, ename, job, deptno
    FROM emp
    WHERE job = 'CLERK';

    중복된 데이터였던 MILLER의 정보를 하나만 가지고 왔다.


     

    UNION ALL : 합집합 (중복된 데이터를 모두 가져온다.)

    SELECT empno, ename, job, deptno
    FROM emp
    WHERE deptno = 10
    UNION ALL
    SELECT empno, ename, job, deptno
    FROM emp
    WHERE job = 'CLERK';

    중복이였던 MILLER정보를 모두 가지고 왔다.

     

     


    INTERSECT : 교집합

    SELECT empno, ename, job, deptno
    FROM emp
    WHERE deptno = 10
    INTERSECT 
    SELECT empno, ename, job, deptno
    FROM emp
    WHERE job = 'CLERK';

     


    MINUS : 차집합

    SELECT empno, ename, job, deptno
    FROM emp
    WHERE deptno = 10
    MINUS 
    SELECT empno, ename, job, deptno
    FROM emp
    WHERE job = 'CLERK';

    반응형

    댓글

Designed by Tistory.