SELECT c1, c2, SUM(col) FROM table GROUP BY ROLLUP (c1, c2);c2와 c1을 차례로 그룹핑하여 다양한 부분 집계를 제공함.SELECT c1, c2, SUM(col), GROUPING(c1) AS g1, GROUPING(c2) AS g2 FROM table GROUP BY ROLLUP(c1, c2);g1이나 g2 값이 1이면 해당 컬럼이 집계 레벨에서 집계됐음을 의미함.ROLLUP의 경우의 수는 각 컬럼이 NULL 또는 그룹 값인 모든 경우의 수를 포함.n+1개의 집계(전체 집계 포함) 제공. ROLLUP(c1, c2)는 {c1, c2}, {c1, NULL}, {NULL, NULL}의 경우로 부분 및 전체 집계를 생성함.SELECT ename, sal, LAG(sal, 1, 0) OVER (ORDER BY ename) AS prev_sal FROM emp;SELECT ename, sal, LEAD(sal, 1, 0) OVER (ORDER BY ename) AS next_sal FROM emp;START WITH ename = 'JONES' CONNECT BY MGR = PRIOR EMPNO AND JOB <> 'ANALYST';: 계층구조 탐색 시, 각 경로에서 ANALYST가 아닌 JOB만 탐색.START WITH ename = 'JONES' CONNECT BY MGR = PRIOR EMPNO WHERE job <> 'ANALYST';: 전체 결과에서 ANALYST인 경우를 제외함.SELECT count (*) AS cnt
FROM T1 UNPIVOT INCLUDE NULLS (SAL FOR DEPTNO IN (D10_SAL AS 10, D20_SAL AS 20, D30_SAL AS 30))
WHERE JOB = 'ANALYST';DEPTNO 값을 기준으로 D10_SAL, D20_SAL, D30_SAL 컬럼을 SAL 행 값으로 변환함.NUMBER(2)에서 NUMBER(1)로 축소할 때 값의 범위 초과가 발생할 수 있어 오류 발생 가능.NUMBER(2)에서 NUMBER(1)로 줄이는 경우, 데이터가 1자리 이상일 경우 오류가 발생함.데이터베이스 권한이랑 공간 관리는 아파트 단지 관리랑 비슷함. 이거 보면 INSERT 권한이랑 테이블스페이스 사용 권한 차이 알 수 있음.
테이블스페이스 (아파트 단지)
테이블스페이스 사용 권한 (아파트 입주 권한)
ALTER USER username QUOTA 50M ON USERS;INSERT 권한 (특정 아파트에 물건 넣을 수 있는 권한)
GRANT INSERT ON T1 TO username;UNLIMITED TABLESPACE 권한 (모든 아파트 단지 무제한 사용 권한)
GRANT UNLIMITED TABLESPACE TO username;권한 조합