더북(TheBook)

조회 결과가 예상보다 많은 30건이 조회되었습니다. 어떻게 이런 결과가 나온 걸까요? 사원정보 테이블의 총 로우 수는 6건이고 부서정보 테이블의 총 로우 수는 5개인데, 두 테이블을 조인하되 조인 조건을 주지 않았으므로 가능한 모든 조합에 대한 데이터가 조회된 것입니다. 즉, 6 * 5 = 30건이 조회된 것이죠. 카티션 곱은 조인의 범주에 들긴 하지만 실제로 사용하는 경우는 매우 드뭅니다. 사실 조인이란 것이 두 테이블에서 조인 컬럼을 사용해 데이터를 조회하는 것인데, 조인 컬럼 자체를 사용하지 않는 카티션 곱은 아주 특별한 경우를 제외하고 사용할 일이 없습니다. 하지만 카티션 곱의 결과는 흔히 볼 수 있을 거예요. SQL을 처음 접하는 사람의 흔한 실수 중 하나가 조인 조건을 빼고 조인하는 경우인데, 이때 결과가 바로 카티션 곱입니다. 만약 카티션 곱으로 수행된 결과를 보게 된다면 일단 쿼리에 조인 조건이 빠졌는지 찾아보세요.

지금까지 조인에 대해 살펴봤습니다. 이 장에서 알아본 내부 조인, 외부 조인 외에도 안티 조인, 세미 조인이 있는데, 이는 서브쿼리를 사용하는 조인이므로 다음 장에서 서브쿼리를 다루면서 설명하도록 하죠.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.