충분히 쌓여가는
04 교차 조인 본문
교차 조인(CROSS JOIN)
자주 사용하는건 아니지만, 각 테이블의 모든 경우의 수를 조합한 데이터가 필요할 경우 교차 조인을 사용할 수 있다.
카르테시안 곱(cartesian product)라고도 한다.
교차 조인의 기본 형식
SELECT [열 이름]
FROM [테이블 1]
CROSS JOIN [테이블 2]
WHERE [검색 조건]
FROM 문에 조인 조건이 없다.
한 테이블에 저장된 모든 행이 다른 테이블의 행을 조인하므로 조인 조건이 필요 없다.
두 테이블의 교차 조인하는 과정
테이블 A와 테이블 B의 데이터를 서로 조합해 총 9건의 결과가 출력되었다.
CROSS JOIN은 사용할 일이 많지는 않지만, 샘플 데이터를 만들거나 각 행에 같은 숫자의 데이터를 만들어야 할 때 활용할 수 있다.
CROSS JOIN을 위한 샘플 데이터 생성
CREATE TABLE doit_cross1(num INT);
CREATE TABLE doit_cross2(name NVARCHAR(10));
INSERT INTO doit_cross1 VALUES (1), (2), (3);
INSERT INTO doit_cross2 VALUES ('Do'), ('It'), ('SQL');
CROSS JOIN 쿼리 실행
SELECT
a.num, b.name
FROM doit_cross1 AS a
CROSS JOIN doit_cross2 AS b
CROSS JOIN에 WHERE 문 사용
SELECT
a.num, b.name
FROM doit_cross1 AS a
CROSS JOIN doit_cross2 AS b
WHERE a.num = 1;
다음 실습을 위한 테이블 삭제
DROP TABLE doit_cross1;
DROP TABLE doit_cross2;
'MSSQL > 테이블을 서로 통합하는 조인' 카테고리의 다른 글
06 서브 쿼리 (1) | 2024.10.09 |
---|---|
05 셀프 조인 (7) | 2024.10.09 |
03 외부 조인 (1) | 2024.10.09 |
02 내부 조인 (1) | 2024.10.07 |
01 조인 JOIN (1) | 2024.10.07 |