ㅡ. Intersect 연산

두 개의 테이블에서 교집합을 조회한다. 두 개 테이블의 공통된 값을 조회한다. 

 

ㅡ. UNION

UNION 연산은 두 개의 테이블을 하나로 만드는 연산이다. 중복된 데이터를 제거한다. 정렬 과정이 발생한다. 

 

ㅡ. UNION ALL

UNION ALL은 두 개의 테이블을 하나로 합치는 것이다. 중복을 제거하거나 정렬하지 않는다. 

 

ㅡ. MINUS

먼저 쓴 SELECT문에 있지만 뒤에 쓴 SELECT문에는 없는 집합을 조회한다. 

e.g) SELECT DEPTNO FROM DEPT MINUS SELECT DEPTNO FROM EMP;

 

ㅡ. EXISTS

Subquery로 어떤 데이터가 참인지 거짓인지 알아보는것, 존재하면 True 그렇지 않다면 False 이다. 

 

ㅡ. Partition 기능 

파티션은 대용량 테이블을 여러 개의 데이터 파일에 분리해서 저장

    ㅡ. Range Parition : 값의 범위를 기준

    ㅡ. List Partition : 특정 값을 기준 

    ㅡ. Hash Partition : 내부적으로 해시함수를 사용해 데이터를 분할

 

ㅡ. 파티션 인덱스

파티션 키를 사용해 인덱스를 만든다. 

 

ㅡ. EQUI 조인은 '>', '<' 등의 연산자를 사용해서 조인한다. 모든 비교 연산자를 사용하지 않는다. 

 

ㅡ. EQUI 조인에서는 HASH 조인만 사용할 수 있다.

 

ㅡ. CROSS JOIN은 카테시안 곱이 발생하여 많은 행이 조인된다. 

 

ㅡ. 계층형 조회할때 가장 상위 레벨은 Root(=1) 그 다음 노드(=2)가 나온다. 

 

ㅡ. 인라인 뷰는 FROM절에서 사용하는 서브쿼리다.

 

ㅡ. All은 메인쿼리 결과와 서브쿼리 결과가 동일하면 참이 된다. 

 

ㅡ. ROLLUP은 Group by 칼럼에 대해 Subtotal을 만들어준다. 

 

ㅡ. row 에서 칼럼의 다음 행을 보여주는 것은 LEAD(Column) 이다.

 

ㅡ. Group Function

합계를 구할 수 있다. 종류로는 ROLLUP, CUBE, GROUPING SETS

select job JOB, sum(sal) SAL2
from emp 
group by rollup(job)

//rollup을 기준으로 count 값들을 모두 계산한다.
JOB1        SAL2
---------- ---------- A
NALYST1     6000 
CLERK2      3200 
MANAGER1    33925 
PRESIDENT2  5000 
SALESMAN1   4000 
            52125

출처: https://androphil.tistory.com/166 [소림사의 홍반장!]
select dept.dname, emp.job, sum(emp.sal), count(emp.empno) 
from emp, dept 
where emp.deptno = dept.deptno 
group by rollup(dept.dname, emp.job)

*ref : https://androphil.tistory.com/166

 

CUBE를 사용할때는 보통 ROLLUP에서 각 부서별로 직업에 대한 급여와 사원수를 보기 수월하다. 또, 직업별로 급여와 사원수를 보기가 용이하다. 하지만 이 두개를 보기 위해서 ROLLUP 두가지를 작성해야 하나 CUBE를 사용하면 한번에 확인할 수 있다. 

SELECT dept.dname, emp.job, SUM(emp.sal) sal, COUNT(emp.empno) emp_count
     FROM emp, dept
     WHERE emp.deptno = dept.deptno
     GROUP BY CUBE(dept.dname, emp.job)

*ref : http://www.gurubee.net/lecture/1846 

 

 

ㅡ. 순수 관계 연산자

순수 관계 연산자는 select, project, join, divide

 

ㅡ. 엔터티 사이에 적절한 Join 조건이 없으면 카티시안 곱이 발생한다. 

 

 

 

 

 

 

 

 

 

'Sqld' 카테고리의 다른 글

SQLD05 :: sqld-모의고사  (0) 2020.09.02
SQLD04 :: SQL최적화의 원리(1)  (0) 2020.09.01
SQLD03 :: SQL 기본  (0) 2020.08.30
SQLD02 :: 동적SQL  (0) 2020.08.26
SQLD01 :: SQLD 시작(SQL Base)  (0) 2020.08.24