CROSS JOIN은 SQL에서 사용되는 조인(Join)의 한 유형입니다.
CROSS JOIN은 두 개의 테이블 사이에 모든 가능한 조합을 만들어냅니다.
간단한 예시로 설명해보겠습니다.
예를 들어, 테이블A와 테이블B가 있다고 가정해봅시다.
테이블A:
| A_id | A_name |
|------|--------|
| 1 | John |
| 2 | Jane |
| 3 | Bob |
테이블B:
| B_id | B_name |
|------|--------|
| 101 | Apple |
| 102 | Banana |
이 때, CROSS JOIN을 사용하면 두 테이블 간의 가능한 모든 조합을 만들 수 있습니다. (카테시안 곱)
| A_id | A_name | B_id | B_name |
|------|--------|------|--------|
| 1 | John | 101 | Apple |
| 1 | John | 102 | Banana |
| 2 | Jane | 101 | Apple |
| 2 | Jane | 102 | Banana |
| 3 | Bob | 101 | Apple |
| 3 | Bob | 102 | Banana |
이 결과는 테이블A의 각 행에 테이블B의 모든 행이 조합된 것입니다.
주의할 점은, CROSS JOIN은 가능한 조합의 수가 매우 많을 수 있기 때문에 사용 시 주의해야 합니다.
두 테이블이 각각 100개의 행을 가지고 있다면, CROSS JOIN 결과는 10,000개의 행이 될 것입니다.
또한, CROSS JOIN은 일반적으로 사용보다는 다른 조인 유형(예: INNER JOIN, LEFT JOIN 등)을 선호하는 경향이 있습니다.