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

MySQL JOINはどのような順序で評価されますか?

    1. USING(フィールド名)は、ON table1.fieldname=table2.fieldnameと言う簡単な方法です。

    2. SQLは、言語の性質ではないため、JOINSが実行される「順序」を定義しません。明らかに、ステートメントで順序を指定する必要がありますが、内部結合は可換であると見なすことができます。任意の順序でリストすることができ、同じ結果が得られます。

      そうは言っても、SELECT ... JOIN、特にLEFT JOINを含むものを作成する場合、3番目のJOINを最初のJOINの結果に新しいテーブルを結合するものと見なし、4番目のJOINを2回目のJOINの結果など。

      ごくまれに、指定された順序がヒューリスティックに影響を与える方法が原因で、クエリオプティマイザの動作に影響を与える可能性があります。

    3. いいえ。クエリを組み立てる方法では、会社とユーザーの両方に会社IDがあり、ジョブにはユーザーIDとジョブIDがあり、ユーザーアカウントにはユーザーIDがある必要があります。ただし、またはの企業は1つだけです。 ユーザーがJOINを機能させるには、ユーザーIDが必要です。

    4. WHERE句は、jobsテーブルによって提供される列を使用して、結果全体(つまり、すべてのJOINされた列)をフィルタリングします。



    1. MySQLの作成時間と更新時間のタイムスタンプ

    2. Mysqliは、2つの異なるデータベースのテーブルを結合します

    3. マテリアライズドビュークエリを変更する

    4. MariaDBでサポートされている文字セットの完全なリスト