반응형
본 포스트를 통해 CROSS JOIN에 대해서 알아보자. CROSS JOIN은 두 테이블을 다양한 경우의 수로 합치고 싶을 때 이용하는 방식이다.
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 절에 테이블 이름만 와도 된다.
반응형
'ICT > SQL' 카테고리의 다른 글
SQL 문법 | 함수 | COUNT SUM AVG DISTINCT (0) | 2021.09.08 |
---|---|
SQL 문법 | 데이터 조회 및 필터 | NATURAL JOIN (0) | 2021.09.08 |
SQL 문법 | 데이터 조회 및 필터 | FULL OUTER JOIN (0) | 2021.09.07 |
SQL 문법 | 데이터 조회 및 필터 | SELF JOIN (0) | 2021.09.07 |
[SQL] 국가공인 SQL 개발자 및 전문가 자격시험 정보 (0) | 2021.08.30 |
댓글