ON 条件のない MySQL JOIN クエリ
質問: MySQL JOIN クエリは ON ステートメントなしで作成できますか? LEFTとRIGHTとはどう違うのですかJOIN?
答え:
はい、MySQL では ON 条件なしで JOIN クエリを作成できます。この動作は、ANSI SQL 標準やその他のほとんどのデータベースとは異なります。ただし、このようなクエリは、共通の条件に基づいて行を結合するのではなく、デカルト積を作成するクロス結合と同等です。
MySQL の JOIN または INNER JOIN に ON 句が存在しない場合、その影響は次のとおりです。クロス結合。同様に、ON 句を CROSS JOIN とともに使用すると、結合条件をさらに絞り込むことができます。
LEFT JOIN および RIGHT JOIN との違い:
LEFT JOIN および RIGHT JOIN には、 ON 句を使用して結合条件を指定します。これは、他のテーブルに一致する行がない場合でも、左側のテーブルまたは右側のテーブルの行を含めることが目的であるためです。 ON 句を使用しない場合、単純に左側と右側のテーブルの行をそれぞれ別々に返します。
実際的な考慮事項:
技術的には JOIN を使用することが可能ですが、 MySQL で ON 条件のないクエリを実行する場合は、わかりやすくするために明示的に CROSS JOIN を使用することをお勧めします。次の構文が推奨されます:
from A cross join B
よりも:
from A, B
または:
from A join B -- with no on clause
以上がMySQL JOIN クエリは ON 句なしで機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。