Oracle 오라클 데이터 복제 방법, 카테시안 조인
이번 포스팅에서는 원하는 만큼 데이터를 복사해 SELECT 하는 방법에
대해서 포스팅 하겠습니다.
데이터의 복제는 카테시안 조인을 사용하여 간단히 할 수 있습니다.
카테시안 조인은 조인 조건이 없거나 누락되는 조인을 말하며, 조인된 두 테이블의 행의 곱만큼
출력합니다.
예) A테이블에 3개행, B테이블에 4개행이 존재한다면.
SELECT *
FROM A, B
결과는 12개(3x4).
그럼 본론으로 들어가 데이터를 복제하는 방법을 보도록 하죠.
테이블 생성은 하지않고 서브쿼리를 사용하겠습니다.
(서브쿼리에 대한 설명은 Link를 참조하세요.)
Link : Subquery 서브쿼리사용법, ALL, ANY, IN, EXISTS
위에서도 말했듯이 카테시안 조인은 조인된 테이블 데이터의 행 갯수의 곱으로 출력합니다.
복사할 행이 있다면(1) x 원하는 만큼 복사할 행이 필요하겠죠(5) = (1x5=5)
우선 복사할 행을 SELECT 해보도록 하겠습니다.
서브쿼리를 사용하여 아래와 같은 결과를 얻습니다.
그리고 원하는 만큼 복사할 행을 만듭니다. 5번 복사한다고 한다면,
5번 복제할 행을 생성하고 각 로우에 순번을 부여합니다.
그럼 이제 이 두 데이터 집합을 카테시안 조인 하게 되면,
복제된 5개의 행이 출력되게 되죠.
카테시안 조인을 활용한 데이터의 복제는
두 개 이상의 테이블을 조합하여 다른 테이블의 기초 데이터를 생성할 때 자주 사용됩니다.
사용빈도는 다른 조인에 비해 떨어지지만 사용법을 알고 있다면 유용하게 사용하실 수 있습니다.
'Database > SQL' 카테고리의 다른 글
Oracle 오라클 대소문자 구분없이 검색하기, UPPER, LOWER 사용법 (0) | 2014.04.30 |
---|---|
Oracle 오라클 원하는 갯수만큼 조회하기 Oracle, Mssql, Mysql, DB2 (0) | 2014.04.30 |
Oracle 오라클 테이블, 컬럼 정보 출력하기 (0) | 2013.10.01 |
Oracle START WITH CONNECT BY PRIOR 사용법 (3) | 2013.07.25 |
Oracle 오라클 날짜 연산 날짜 계산 날짜 포멧 (3) | 2013.07.09 |
댓글