ホームページ >データベース >mysql チュートリアル >CROSS JOIN と INNER JOIN: どの SQL 結合演算子をいつ使用するか?

CROSS JOIN と INNER JOIN: どの SQL 結合演算子をいつ使用するか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-22 10:35:13550ブラウズ

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

SQL の CROSS JOIN と INNER JOIN の詳細な説明

CROSS JOIN と INNER JOIN は SQL の 2 つの基本的な結合演算子で、複数のテーブルの行を結合するために使用されます。これらには類似点がありますが、動作は大きく異なり、特定の使用例があります。

クロス結合

CROSS JOIN は、入力テーブルのデカルト積を計算します。これにより、最初のテーブルのすべての行と 2 番目のテーブルのすべての行の可能なすべての組み合わせを含む新しいテーブルが生成されます。次の SQL クエリの例は、CROSS JOIN の使用を強調しています:

<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>

内部結合

CROSS JOIN とは異なり、INNER JOIN は結合条件を満たす行のみを取得します。結合条件は通常、2 つの入力テーブルのフィールドを比較します。次の SQL クエリの例は、INNER JOIN の使用方法を示しています:

<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>

どうやって選ぶの?

CROSS JOIN と INNER JOIN のどちらを選択するかは、特定のニーズによって異なります。

  • CROSS JOIN: 一致条件が存在するかどうかに関係なく、行の可能なすべての組み合わせが必要な場合に使用します。
  • INNER JOIN: 結合基準を満たす 2 つのテーブルから行を取得するだけでよい場合に使用します。

通常、INNER JOIN は、無関係な組み合わせを排除し、より焦点を絞った有用なデータを提供するため、より一般的に使用されます。 CROSS JOIN は、後続の分析またはフィルタリングのために考えられるすべての組み合わせを生成する必要があるシナリオで役立ちます。

以上がCROSS JOIN と INNER JOIN: どの SQL 結合演算子をいつ使用するか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。