집 >데이터 베이스 >MySQL 튜토리얼 >CROSS JOIN과 INNER JOIN: 언제 어떤 SQL 조인을 사용해야 합니까?
SQL의 CROSS JOIN 및 INNER JOIN
CROSS JOIN의 이해
Cartesian product라고도 알려진 CROSS JOIN은 두 개 이상의 테이블에서 가능한 모든 행 조합을 검색합니다. 특정 기준에 따라 행을 필터링하지 않고 각 테이블의 행 수를 곱합니다. 예를 들어 한 테이블에 5개의 행이 있고 다른 테이블에 3개의 행이 있는 경우 해당 CROSS JOIN은 15개 행의 결과 집합을 반환합니다.
예:
다음 형식을 고려하세요.
<code>Customers: CustomerID | Age | Gender --------- | --- | ------- C0 | 25 | Male C1 | 30 | Female Movies: MovieID | MovieName ------- | --------- M0 | Batman M1 | Superman</code>
Customer와 Movies 테이블 간의 CROSS JOIN은 다음과 같은 결과 집합을 생성합니다.
CustomerID | Age | Gender | MovieID | MovieName |
---|---|---|---|---|
C0 | 25 | Male | M0 | Batman |
C0 | 25 | Male | M1 | Superman |
C1 | 30 | Female | M0 | Batman |
C1 | 30 | Female | M1 | Superman |
INNER JOIN 이해
동등 조인이라고도 알려진 INNER JOIN은 지정된 동등 조건을 기반으로 두 테이블의 행을 필터링합니다. 조인된 열에서 동일한 값을 갖는 행과 일치합니다. 예를 들어 CustomerID 열을 기반으로 하는 Customers 및 Movies 테이블의 INNER JOIN은 두 테이블 모두에서 CustomerID가 일치하는 행만 반환합니다.
예:
이전과 동일한 테이블을 고려하면 CustomerID를 기반으로 하는 INNER JOIN은 다음 결과 집합을 생성합니다.
CustomerID | Age | Gender | MovieID | MovieName |
---|---|---|---|---|
C0 | 25 | Male | M0 | Batman |
CROSS JOIN 및 INNER JOIN 선택
CROSS JOIN과 INNER JOIN 중 선택은 원하는 결과에 따라 다릅니다.
위 내용은 CROSS JOIN과 INNER JOIN: 언제 어떤 SQL 조인을 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!