DataBase
COPY_T 테이블이란?
클라인STR
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테이블을 이용하여 총인원수 합계를 구해보자
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 |