COALESCE Trigger DECODE LEVEL LPAD CONNECT BY START WITH TRUNCATE
Nested Loop Join Cartesian Join Cross Join 과 Natural Join
파티셔닝 방법 MERGE
주식별자 - 본질식별자 - 보조식별자 - 복합식별자 ORDER BY 2 HASH JOIN
UPDATE CREATE 이후 ROLLBACK Join(Nest Hash Cartesian) 확실히 알아두기 INTERSECT(교집합)
| NL Join | Sort Merge Join | Hash Join |
|---|---|---|
| 랜덤 액세스 | 등가, 비등가 조인 가능 | 등가조인만 가능 |
| 대용량 sort 작업 유리 | 조인키 기준 정렬 | 대량 작업 유리, 함수처리 |
| Procedure | Trigger |
|---|---|
| EXECUTE 명령어로 실행 | 자동 실행 (이벤트 발생시) |
| CREATE Procedure | CREATE Trigger |
| COMMIT, ROLLBACK 가능 | COMMIT, ROLLBACK 불가능 |
UNION(합집합) UNION ALL(합집합 중복포함)
Window function(집계 함수 sum max min)
비교 연산 순서 NOT - AND - OR 순으로 연산
<aside> 💡
RANK() : 중복값은 중복등수, 등수 건너뜀(1위, 1위, 3위, 4위)
DENSE_RANK() : 중복값은 중복등수, 등수 안 건너뜀(1위, 1위, 2위, 2위)
ROW_NUMBER() : 중복값이 있어도 고유 등수 부여(1위, 2위, 3위, 4위)
PARTITION BY DEPT_ID / ORDER BY SALARY DESC
WHERE RN = 1
<aside> 💡
ROLLUP : 인수 순서중요(계층적), Order by 로 정렬
| department | job | SUM(salary) |
|---|---|---|
| Sales | Manager | 120,000 |
| Sales | Clerk | 80,000 |
| Sales | NULL | 200,000 |
| Marketing | Manager | 100,000 |
| Marketing | Clerk | 70,000 |
| Marketing | NULL | 170,000 |
| NULL | NULL | 370,000 |
CUBE : 모든값에 다차원집계 생성(모든 가능한 조합에 대한 집계를 생성) / 시스템에 많은 부하
| department | job | SUM(salary) |
|---|---|---|
| Sales | Manager | 120,000 |
| Sales | Clerk | 80,000 |
| Sales | NULL | 200,000 |
| Marketing | Manager | 100,000 |
| Marketing | Clerk | 70,000 |
| Marketing | NULL | 170,000 |
| NULL | Manager | 220,000 |
| NULL | Clerk | 150,000 |
| NULL | NULL | 370,000 |
GroupingSets : 인수 순서무관 (평등)
| department | job | SUM(salary) |
|---|---|---|
| Sales | Manager | 120,000 |
| Sales | Clerk | 80,000 |
| Sales | NULL | 200,000 |
| Marketing | Manager | 100,000 |
| Marketing | Clerk | 70,000 |
| Marketing | NULL | 170,000 |
| NULL | NULL | 370,000 |
| </aside> |