sql >> データベース >  >> RDS >> Mysql

ON条件なしでmysqlJOINを使用するにはどうすればよいですか?

    MySQL ドキュメント このトピックについて説明します。

    ここに概要があります。 joinを使用する場合 またはinner joinon 条件はオプションです。これはANSI規格とは異なり、他のほとんどのデータベースとも異なります。効果はcross join 。同様に、onを使用できます cross joinを含む句 、これも標準SQLとは異なります。

    クロス結合は、デカルト積を作成します。つまり、最初のテーブルの1行と2番目のテーブルの1行のすべての可能な組み合わせです。 3行(「a」、「b」、および「c」)のテーブルと4行(たとえば、1、2、3、4)のテーブルの相互結合は、12行になります。

    実際には、クロスジョインを実行する場合は、cross joinを使用します。 :

    from A cross join B
    

    よりもはるかに優れています:

    from A, B
    

    および:

    from A join B -- with no on clause
    

    on 右または左の外部結合には句が必要であるため、説明はそれらには関係ありません。

    さまざまな種類の結合を理解する必要がある場合は、リレーショナルデータベースについて調査する必要があります。 Stackoverflowは、そのレベルのディスカッションには適切な場所ではありません。



    1. OracleでサポートされているROUND()およびTRUNC()日付関数のフォーマットモデル

    2. mysqli_real_escape_stringは、SQLインジェクションやその他のSQL攻撃を回避するのに十分ですか?

    3. SQLServerのテーブルにJSONを挿入する方法

    4. SQL Server(T-SQL)でパーティションを切り替える