MySQL

MySQL_CROSS JOIN

ssmm95 2024. 9. 12. 10:58

CROSS JOIN(상호 조인) :

한 쪽 테이블의 모든 행들과 다른 쪽 테이블의 모든 행을 조인 시키는 기능

즉, CROSS JOIN의 결과 개수는 두 테이블 개수를 곱한개수가 됨

CROSS JOIN에는 ON구문을 사용할 수 없음

CROSS JOIN의 용도는 테스트로 사용할 많은 용량의 데이터를 생성할 때 주로 사용

 

예) employees DB에서 약 30만 건이 있는 employees 테이블과 약 44만 건이 있는 titels를 

CROSS JOIN시키면 약 1300억 건의 데이터를 생성할 수 있음.

진짜로 데이터를 생성하면 시스템이 다운되거나 디스크 용량이 모두 꽉 찰 수 있으므로

COUNT(*)함수로 개수만 카운트 하면 된다

USE employees;

SELECT count(*) AS '데이터개수' FROM employees CROSS JOIN titels; 

 

예) 회원 테이블의 첫 행이 구매 테이블의 모든 행과 조인되고, 그것을 회원 테이블의 모든 행이 반복하는 것

그러므로 회원 테이블의 개수인 10개와 구매 테이블의 개수인 12개가 곱해져서 120개의 결과가 됨

> SELECT * FROM buytbl CROSS JOIN usertbl;

'MySQL' 카테고리의 다른 글

MySQL_FOREIGN KEY  (0) 2024.09.12
My_SQL_ UNION/ UNION ALL/ NOT IN/ IN  (1) 2024.09.12
MySQL_OUTER JOIN  (0) 2024.09.12
MySQL_INNER JOIN  (0) 2024.09.11
MySQL_삭제 후 재설치  (1) 2024.09.11