본문 바로가기
  • BLG-ZYNGIROK-모토-꿈꾸며-배우고-나누며-이루다
ICT/SQL

SQL 문법 | 데이터 조회 및 필터 | CROSS JOIN

by dazwischen 2021. 9. 8. 07:00
반응형

본 포스트를 통해 CROSS JOIN에 대해서 알아보자.  CROSS JOIN은 두 테이블을 다양한 경우의 수로 합치고 싶을 때 이용하는 방식이다. 

CROSS JOIN

SQL 문법 데이터 조회 필터 CROSS JOIN

CROSS JOIN은 데이터들을 재조합해서 다양한 시각으로 데이터를 바라볼 수 있는 기능을 제공한다. 이름에서 볼 수 있듯이 CROSS는 단순 1:1 매칭이 아닌 일대다 그리고 다대일 매칭을 해준다.

01 모든 가능한 조합을 보여주는 CROSS JOIN

작성 방식은 기존의 JOIN과 다르지 않다.

SELECT		A.COL, B.COL
FROM		TABLE01 A
CROSS JOIN	TABLE02 B
;

이와 같이 CROSS JOIN을 이용하는 것만으로 A.COL과 B.COL의 모든 조합 결과물을 얻을 수 있다.

EXAMPLE

A조의 팀은 B조의 모든 팀과 경기를 해야 하고, B조의 팀도 A조의 모든 팀과 경기를 해야 한다. 모든 경기 조합을 만들어

주세요.

테이블

TABLE A TABLE B
아시아 유럽
한국 독일
중국 프랑스
일본 영국

SQL (QUERY)

SELECT 		A.아시아, B.유럽
FROM		TABLE A
CROSS JOIN	TABLE B
;

결과

TABLE A TABLE B
아시아 유럽
한국 독일
중국 독일
일본 독일
한국 프랑스
중국 프랑스
일본 프랑스
한국 영국
중국 영국
일본 영국

02 다른 JOIN과의 차이점

두 테이블을 조합하는 기능이기 때문에 특정한 규칙을 적어줘야 했던 이전의 JOIN들과는 다르게 CROSS JOIN 절에 테이블 이름만 와도 된다.

반응형

댓글