Database/SQL

크로스 조인

등푸른고등어 2023. 8. 10. 12:02

 

 

 

CROSS JOIN은 두 테이블의 ROW간 가능한 모든 조합을 결과로 반환하며,

이러한 CROSS JOIN의 특징을 '카티션의 곱'이라고도 합니다.

 

 


 

간단한 CROSS JOIN의 예시 코드입니다.

 

employees 테이블과 departments 테이블을 CROSS JOIN합니다.

 

SELECT
    COUNT(*)
FROM
    employees;

SELECT
    COUNT(*)
FROM
    departments;

 

먼저 각 테이블의 Row를 COUNT( * )로 조회합니다.

 

SQL

 

 

CROSS JOIN에 대한 간단한 쿼리입니다.

 

-- Oracle JOIN --

SELECT
    *
FROM
    employees,
    departments;
    

-- Ansi JOIN --

SELECT
    *
FROM
    employees CROSS JOIN departments;

 

 

 

결과는 두 테이블 Row들의 카티션의 곱즉, 107 * 27 = 2889개입니다.

 

SQL

 

만약 결과가 뜨지 않는다면 VScode의 Oracle Developer Setting에서 Max Row를 높여주시면 됩니다.

일반적으로 500개로 제한되어 있습니다.