ホームページ >データベース >mysql チュートリアル >CROSS JOIN と INNER JOIN: それぞれをいつ使用する必要がありますか?
SQL の CROSS JOIN と INNER JOIN: 違いの詳細な説明
SQL の JOIN 操作は、特定の条件に基づいて複数のテーブルの行を結合するために使用されます。 CROSS JOIN と INNER JOIN は 2 つの一般的な JOIN タイプで、それぞれに独自の用途とアプリケーション シナリオがあります。
クロスジョイン
名前が示すように、CROSS JOIN は、参加しているテーブル内の行のデカルト積を作成します。つまり、条件に関係なく、両方のテーブルの行の可能なすべての組み合わせが返されます。この動作により、特にテーブルに多数の行がある場合、多数の冗長行が発生する可能性があります。
次の 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>
このクエリは、Customers テーブルと Movies テーブルの間に関係があるかどうかに関係なく、Customers テーブルと Movies テーブルの行の可能なすべての組み合わせを返します。
内部結合
INNER JOIN は、ON 句で定義された結合条件を満たす行のみを返します。この条件は、参加テーブル内の行が結果に含まれるために満たす必要がある条件を指定します。
次の 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>
このクエリは、Customers テーブルと Movies テーブル内の CustomerID 値が一致する行のみを返します。これにより、映画をレンタルした顧客のみが結果に含まれるようになります。
CROSS JOIN と INNER JOIN をどちらに使用するか
CROSS JOIN または INNER JOIN のどちらを使用するかは、クエリの特定の要件によって異なります。
CROSS JOIN と INNER JOIN の違いを理解することで、SQL の複数のテーブルのデータを効果的に組み合わせてニーズを満たすことができます。
以上がCROSS JOIN と INNER JOIN: それぞれをいつ使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。