'Oracle'에 해당되는 글 3건

  1. 2017.05.19 ROLLUP - 소계,합계 구하기
  2. 2017.01.19 oracle index
  3. 2016.11.28 ALTER TABLE

ROLLUP


롤업구문은 GROUP BY 절과 같이 사용된다.

GROUP BY절에 의해서 그룹지어진 집합 결과에 대해서 좀 더 상세한 정보를 얻을수 있다.

SELECT 절에 ROLLUP을 사용하면 데이터의 총계를 구할수 있다.



TEST_JOB 데이터로 예제를 만들어 보자

SELECT
*
FROM TEST_JOB
ORDER BY JOB;

TEST_JOB 조회시 결과




GROUP BY 를 사용해서 직업별로 급여 합계를 구해보자

SELECT
JOB
,SUM(SAL)
FROM TEST_JOB
GROUP BY JOB;

결과를 보면 JOB별 SAL 의 합계가 조회된다.



ROLLUP 을 사용해서 JOB별 SAL합계와 총계를 구해보자.

SELECT
JOB
,SUM(SAL)
FROM TEST_JOB
GROUP BY ROLLUP (JOB);

결과를 보면 급여합계의 총계가 추가되었다.



ROLLUP을 이용하여 부서별 SAL의 소계와 총계를 구해보자.

SELECT
DEPTNO
,JOB
,SUM(SAL)
FROM TEST_JOB
GROUP BY ROLLUP (DEPTNO,JOB);

결과 



GROUPING()

소계,합계를 구분하고자 할때 GROUPING(컬럼) 또는 GROUPING_ID(컬럼1,컬럼2)를 사용한다. 

GROUPING()함수는 해당 컬럼이 집합에 참여하지 않으면 1을 반환, 집계계산에 참여하면 0을 반환한다.


SELECT
DEPTNO
,JOB
,SUM(SAL)
,GROUPING(DEPTNO)
,GROUPING(JOB)
,GROUPING_ID(DEPTNO,JOB)
FROM TEST_JOB
GROUP BY ROLLUP (DEPTNO,JOB);

결과


'DB > ORACLE' 카테고리의 다른 글

oracle sequence 생성,조회  (0) 2017.03.17
oracle index  (0) 2017.01.19
PIVOT 사용  (0) 2017.01.03
ALTER TABLE  (0) 2016.11.28
Posted by 양승아
:

oracle index

DB/ORACLE 2017. 1. 19. 20:52 |



oracle 인덱스 조회


SELECT A.uniqueness,
         b.*
FROM ALL_INDEXES a,
       ALL_IND_COLUMNS b
WHERE a.index_name = b.index_name
AND a.table_name=upper('TABLE_NAME');   // 테이블명


'DB > ORACLE' 카테고리의 다른 글

ROLLUP - 소계,합계 구하기  (0) 2017.05.19
oracle sequence 생성,조회  (0) 2017.03.17
PIVOT 사용  (0) 2017.01.03
ALTER TABLE  (0) 2016.11.28
Posted by 양승아
:

ALTER TABLE

DB/ORACLE 2016. 11. 28. 20:19 |

 ALTER TABLE 




-기존테이블에 컬럼추가시


ALTER TABLE 테이블명

ADD(컬럼명 데이터형식)


ALTET TABLE TEST

ADD(addr varchar2)


- 기존테이블에 컬럼추가 및 데이터 추가시


ALTER TABLE 테이블명

ADD(컬럼명 AS 넣을 데이터)


ALTER TABLE TEST

ADD(addr AS addr1+addr2)




'DB > ORACLE' 카테고리의 다른 글

ROLLUP - 소계,합계 구하기  (0) 2017.05.19
oracle sequence 생성,조회  (0) 2017.03.17
oracle index  (0) 2017.01.19
PIVOT 사용  (0) 2017.01.03
Posted by 양승아
: