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 |