Tags
- migrations
- ORM
- Queue
- DB
- drf
- 쟝고
- update
- Article & User
- regexp
- 이진트리
- 뷰
- create
- 스택
- 백트래킹
- stack
- 그리디
- outer join
- delete
- 통계학
- Django
- SQL
- 큐
- 완전검색
- Vue
- Tree
- 트리
- N:1
- M:N
- count
- distinct
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Notice
Recent Posts
Link
데이터 분석 기술 블로그
CROSS JOIN 절 본문
예를 들어, 아래와 같은 두 개의 테이블이 있다고 가정해 봅시다.
employees 테이블 (직원 정보):
| employee_id | name |
| 1 | John |
| 2 | Alice |
| 3 | Bob |
departments 테이블 (부서 정보):
| department_id | department_name |
| 101 | Sales |
| 102 | HR |
CROSS JOIN이란?
CROSS JOIN은 두 테이블의 모든 행을 서로 조합하여 결과를 반환하는 조인 방식입니다. 한 테이블의 각 행이 다른 테이블의 모든 행과 결합되므로, 결과로 만들어지는 행의 수는 두 테이블의 행 개수의 곱과 같습니다. 이를 카티션 곱이라고 합니다.
우리는 employees 테이블과 departments 테이블을 CROSS JOIN을 사용해 결합하여, 모든 직원과 모든 부서의 조합을 만들어내고 싶습니다.
SELECT employees.name, departments.department_name
FROM employees
CROSS JOIN departments;
| name | department_name |
| John | Sales |
| John | HR |
| Alice | Sales |
| Alice | HR |
| Bob | Sales |
| Bob | HR |
- John은 Sales와 HR 부서 모두와 결합되었습니다.
- Alice와 Bob도 각각 Sales와 HR 부서와 결합되었습니다.
- 총 3명의 직원과 2개의 부서가 있으므로, 결과는 3 * 2 = 6개의 행이 나옵니다.
'SQL > 개념' 카테고리의 다른 글
| GROUP BY 절 (0) | 2024.11.03 |
|---|---|
| HAVING 절 (0) | 2024.09.13 |
| FULL(OUTER) JOIN 절 (0) | 2024.09.04 |
| RIGHT(OUTER) JOIN 절 (0) | 2024.09.03 |
| LEFT(OUTER) JOIN 절 (0) | 2024.09.02 |