Database/SQL

Oracle 오라클 데이터 복제 방법, 카테시안 조인

리커니 2014. 4. 23.
반응형

 

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개의 행이 출력되게 되죠.

 

 

카테시안 조인을 활용한 데이터의 복제는 

두 개 이상의 테이블을 조합하여 다른 테이블의 기초 데이터를 생성할 때 자주 사용됩니다.

사용빈도는 다른 조인에 비해 떨어지지만 사용법을 알고 있다면 유용하게 사용하실 수 있습니다.

 

반응형

댓글

💲 추천 글