COPY_T 테이블이란?

DataBase 2015. 12. 16. 00:57

COPY_T 테이블이란 기준 테이블을 원하는 배수만큼 복제하여 결과 집합을 구할 때 사용하거나 데이터 체크에 사용된다.

1
2
3
4
5
CREATE TABLE COPY_T
AS 
SELECT ROWNUM AS NUM , TO_CHAR(ROWNUM , '009') AS VAL
FROM USER_TABLES
WHERE ROWNUM < 101;
cs

 

 

 

COPY_T테이블을 이용하여 총인원수 합계를 구해보자

1
2
3
4
5
6
7
SELECT  
        A.*,B.NUM
       
   FROM  EMP2 A
       , COPY_T B
  WHERE A.EMP_TYPE = '정규직'
    AND B.NUM < 3 ;
cs

 

 

B.NUM <3 조건에 의하여 2개의 레코드만 추출되고 여기서 EMP2 테이블과 카디젼 조인이 되어 10*2 = 20으로 뻥튀기 된다.

NUM=2인 레코드만 합산해서 구한다.

1
2
3
4
5
6
7
8
9
10
11
12
SELECT  
          DECODE(NUM,1,DEPTNO,'합계') AS DEPTNO
        , DECODE(NUM,1,NAME,'합계') AS NAME 
        , COUNT(DECODE(NUM,1,NAME,'합계')) AS TOTAL
       
   FROM  EMP2 A
       , COPY_T B
  WHERE A.EMP_TYPE = '정규직'
    AND B.NUM < 3
    GROUP BY DECODE(B.NUM,1,A.DEPTNO,'합계')
           , DECODE(NUM,1,NAME,'합계')
      ORDER BY DEPTNO;
cs

 

 

'DataBase' 카테고리의 다른 글

소계와 합계 구하는 방법 (1)  (0) 2015.12.17
프로시져란 (PROCEDURE) ?  (0) 2015.12.16
누계를 구하는 방법에 대하여 (2)  (0) 2015.12.14
누계를 구하는 방법에 대하여 (1)  (0) 2015.12.10
SUBSTR 함수  (0) 2015.12.09
블로그 이미지

클라인STR

,