집 >데이터 베이스 >MySQL 튜토리얼 >SQL의 CROSS JOIN과 INNER JOIN: 각 조인 유형을 언제 사용해야 합니까?
SQL의 교차 조인(CROSS JOIN)과 내부 조인(INNER JOIN): 종합 비교
SQL은 CROSS JOIN과 INNER JOIN이라는 두 가지 고유한 연결 유형을 제공하며, 각 연결 유형에는 고유한 애플리케이션 시나리오가 있습니다. 이 기사에서는 이 두 가지 연결 유형의 차이점을 심층적으로 살펴보고 그 이점과 사용 사례를 강조합니다.
CROSS JOIN: 데카르트 곱
카테시안 곱이라고도 하는 교차 조인은 첫 번째 테이블의 모든 행을 두 번째 테이블의 모든 행과 결합합니다. 그러면 조인된 테이블에서 가능한 모든 행 조합을 포함하는 새 테이블이 생성됩니다.
문법:
<code class="language-sql">SELECT * FROM Table1 CROSS JOIN Table2</code>
예:
'Customers' 테이블과 'Movies' 테이블 간의 교차 조인을 고려해보세요.
<code class="language-sql">SELECT Movies.CustomerID, Movies.Movie, Customers.Age, Customers.Gender, Customers.[Education Level], Customers.[Internet Connection], Customers.[Marital Status], FROM Customers CROSS JOIN Movies</code>
이 쿼리는 고객과 영화의 가능한 모든 쌍을 반환하므로 많은 수의 행이 생성됩니다.
INNER JOIN: 결과 제한
내부 조인은 ON
절에 지정된 조건을 만족하는 행만 반환합니다. 두 테이블에서 일치하는 값이 있는 행만 선택합니다.
문법:
<code class="language-sql">SELECT * FROM Table1 INNER JOIN Table2 ON Table1.Column = Table2.Column</code>
예:
이전과 동일한 테이블을 사용하여 CustomerID
열을 사용하여 내부 조인을 만들어 보겠습니다.
<code class="language-sql">SELECT Movies.CustomerID, Movies.Movie, Customers.Age, Customers.Gender, Customers.[Education Level], Customers.[Internet Connection], Customers.[Marital Status] FROM Customers INNER JOIN Movies ON Customers.CustomerID = Movies.CustomerID</code>
이 쿼리는 'Customers' 테이블과 'Movies' 테이블에서 일치하는 CustomerID
행만 반환하여 보다 관련성이 높고 필터링된 결과를 제공합니다.
연결 유형 선택
교차 조인과 내부 조인의 선택은 쿼리의 특정 요구 사항에 따라 다릅니다.
일반적으로 효율성이 높고 결과를 필터링할 수 있는 기능이 있으므로 내부 조인을 사용하는 것이 권장되는 반면, 크로스 조인은 데카르트 곱이 필요한 특정 시나리오에 유용합니다.
위 내용은 SQL의 CROSS JOIN과 INNER JOIN: 각 조인 유형을 언제 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!