Notice
Recent Posts
Recent Comments
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

충분히 쌓여가는

04 교차 조인 본문

MSSQL/테이블을 서로 통합하는 조인

04 교차 조인

빌드이너프 2024. 10. 9. 16:18

교차 조인(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