기본적인 TABLE간의 JOIN 원리

By | 2024-04-22

위 그림을 보시면서 여러분의 생각은 어떠신지요?

혹시 A처럼 테이블끼리 연결된다고 생각하고 계시지 않으셨나요?

두 개가 뭐가 다르지? 라고 생각하신다면 조금만 생각해 보십시오.

왠지 A의 경우는 내부적으로 행의 갯수가 변화없이 연결되는 것처럼 느껴지지 않으시나요?

오른쪽 B의 경우는 테이블A,B간에 양쪽 다 3건이 각각 9건으로 바뀌어서 서로 매핑되어 있는 모습입니다.

이 모습을 많은 분들이 SQL을 배우시면서 A라고 생각하시는 것 같습니다.

아마 결과값이 매번 A의 형태처럼 나와서 그럴 거라고 생각됩니다.

그러나, 실제는 B와 같은 형태로 데이터가 결합됩니다.

흔히 Cartesian의 곱이라고 합니다. 왼쪽에 3건이 있고 오른쪽에 3건이 있으니, 3*3은 9이므로 9개의 경우의 수가 나오겠지요?

테이블은 이런 식으로 결합합니다.

FROM절에 이렇게 결합한 후에 WHERE절에 있는 조건으로 원하는 집합을 만드는 것이라고 이해하시면 좋습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다