>데이터 베이스 >MySQL 튜토리얼 >CROSS JOIN과 INNER JOIN: 언제 어떤 SQL 조인을 사용해야 합니까?

CROSS JOIN과 INNER JOIN: 언제 어떤 SQL 조인을 사용해야 합니까?

DDD
DDD원래의
2025-01-22 10:21:10363검색

CROSS JOIN vs. INNER JOIN: When to Use Which SQL Join?

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 ​​​​을 사용하세요.

위 내용은 CROSS JOIN과 INNER JOIN: 언제 어떤 SQL 조인을 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.