일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- DEBEAVER
- SQL D 독학
- DBeaver
- 문과 코딩독학
- SQL D
- SQL
- 마케터코딩
- PostgreSQL
- SQL문과생
- SQL D자격증
- join
- SQL D 자격증
- SQL COUNT함수
- SQL자격증
- 문과코딩
- SQL독학으로 자격증
- SQL혼자서
- sql독학
- group by
- inner join
- MySQL
- SQL 분석함수
- ROLLUP함수
- 코딩독학
- 마케터SQL
- 문과SQL
- 마케팅코딩
- 조인
- sql함수
- outer join
- Today
- Total
문과생의 우당탕탕 공부 기록
06. CROSS JOIN) CATESIAN PRODUCT연산과 크로스조인 본문
CROSS JOIN은 말 그대로 서로의 집합을 크로스해서 조인하는 것이다.
CROSS JOIN의 의미
두개의 테이블의 CATESIAN PRODUCT 연산의 결과를 출력한다. 데이터 복제에 많이 쓰이는 기법이다.
테이블을 하나 제작해서 예시로 연습해보자.
CROSS_T1과 CROSS_T2라는 이름의 테이블을 만들자
TI의 테이블은 CHARACTER(1BYTE)를 PRIMARY KEY로 채우고
T2의 테이블은 정수인 SCORE를 PRIMARY KEY로 채운다
T1에 각각 A,B라는 레이블을 채우고
T2에 각각 1,2,3이라는 스코어를 채운다.
제대로 만들어졌는지 확인해보자. T1과 T2둘다 잘 만들어졌다.
자 두개를 CROSS JOIN하니까 다음과 같은 결과가 만들어졌다.
LABEL | SCORE
A 1
B 1
A 2
B 2
A 3
B 3
T1을 기준으로 T2랑 CROSS_JOIN한거여서, T1 LABEL 기준인 AB AB AB 순으로 나온다.SCORE는 A 1 B 1, A2 B2, 등등 이런식으로
A만 쫘르륵 보고싶으면 ORDER BY LABEL로 하면 쭈루룩 AAA BBB 이렇게나온다.
해당 SQL은 CROSS JOIN을 사용하지 않고,
그냥 SELECT * FROM CROSS_T1, CROSS_T2 ORDER BY LABEL ;한 것이다.
T1이랑 T2로부터 그냥 SELECT 전부 다 한거여서 전부 결과값으로 나오는데
LABEL 기준으로 ORDER한거니까 같은 집합이 나온다.
SQL에서는 2개의 SQL문의 결과 집합이 동일하면 같은 SQL문이다.
SQL문의 목적은 집합을 출력하는 것이다. -> 정보가 같다면 SQL문 자체는 다르더라도, 동일한 SQL문이다.
* 패캠 이경오 강사님 어록
크로스 조인은 쉽게 말해 조합가능한 모든 경우를 출력하는 것임!
'SQL 공부 > 조인과 집계 데이터' 카테고리의 다른 글
08. GROUP BY 절) 언제, 어떻게, 왜 사용될까? (0) | 2023.01.15 |
---|---|
07. NATURAL JOIN) 왜 실무에서는 잘 안쓸까? (0) | 2023.01.14 |
05. FULL OUTER 조인) 풀 아우터조인으로 RIGHT ONLY만 하는법 (0) | 2023.01.13 |
04. SELF 조인) EMPLOYEE테이블로 SELF JOIN이해하기, ||연산자 (0) | 2023.01.12 |
03. OUTER JOIN) BASKET테이블로 LEFT,RIGHT JOIN 이해하기 (0) | 2023.01.10 |