CROSS JOIN이란?

YOBY·2023년 10월 6일
0

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 등)을 선호하는 경향이 있습니다.

0개의 댓글