1. ホーム
  2. mysql

[解決済み] mysqlのJOINをON条件なしで使用するには?

2022-09-23 09:17:57

質問

を使用せずにjoinクエリを記述することは可能ですか? ON ステートメント無しで書くことはできますか? LEFT JOIN, RIGHT JOIN が動作します。

どのように解決するのですか?

MySQL ドキュメント はこのトピックをカバーしています。

以下はその概要です。 を使用する場合 join または inner join というように on の条件は任意です。 これは 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 節は右または左外部結合に必要ですので、議論はそれらに関係ありません。