개발/SQLite3
SQLite3_CROSS JOIN
우잉이
2022. 1. 7. 11:32
728x90
반응형
CROSS JOIN 절
: 2개의 테이블을 조인하여 데이터를 검색하는 방법 중에 두 테이블의 데이터의 모든 조합을 받아오는 방법
1. 교차 조인
두 테이블의 데이터의 모든 조합을 받아온다.
<user>
ID | NAME |
1 | Kim |
2 | Kang |
3 | Han |
<phone>
ID | 번호 |
1 | 010-1111-1111 |
2 | 010-2222-2222 |
3 | 010-3333-3333 |
ID | NAME | ID | 번호 |
1 | Kim | 1 | 010-1111-1111 |
1 | Kim | 2 | 010-2222-2222 |
1 | Kim | 3 | 010-3333-3333 |
2 | Kang | 1 | 010-1111-1111 |
2 | Kang | 2 | 010-2222-2222 |
2 | Kang | 3 | 010-3333-3333 |
3 | Han | 1 | 010-1111-1111 |
3 | Han | 2 | 010-2222-2222 |
3 | Han | 3 | 010-3333-3333 |
조인된 데이터의 수는 왼쪽 테이블의 데이터가 n개이고 오른쪽 테이블의 데이터가 m개이면 n x m 개가 되고, 경우에 따라서는 매우 많은 개수가 되므로 주의해야 한다.
2. CROSS JOIN 절 사용법
SELECT 테이블명.컬럼명, ...
FROM 테이블명1
CROSS JOIN 테이블명2
ON 테이블명1.컬럼명1 = 테이블명2.컬럼명2;
일단 user테이블과 phone테이블을 생성하고 데이터를 추가하겠습니다.
3. 조회할 데이터 컬럼 지정 방법
user 테이블의 name컬럼이나 phone테이블의 phone컬럼은 구분이 되므로 테이블명을 쓰지 않아도 되지만
user 테이블의 id와 phone테이블의 id는 구분이 되지 않으므로 테이블명을 써주었습니다.
728x90
반응형