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

INNER JOIN ONvsWHERE句

    INNER JOIN 使用する必要があるANSI構文です。

    特に多くのテーブルを結合する場合は、一般的に読みやすいと考えられています。

    OUTER JOINに簡単に置き換えることもできます 必要が生じたときはいつでも。

    WHERE 構文はよりリレーショナルモデル指向です。

    2つのテーブルの結果JOIN edは、結合列が一致する行のみを選択するフィルターが適用されるテーブルのデカルト積です。

    WHEREを使用すると簡単に確認できます 構文。

    あなたの例として、MySQL(そして一般的にSQL)ではこれら2つのクエリは同義語です。

    また、MySQLにはSTRAIGHT_JOINもあることに注意してください 条項。

    この句を使用して、JOINを制御できます。 順序:どのテーブルが外側のループでスキャンされ、どのテーブルが内側のループでスキャンされるか。

    WHEREを使用してMySQLでこれを制御することはできません 構文。



    1. サブクエリを使用せずに最大シーケンスの行のみを選択する方法は?

    2. SQLite Select Distinct

    3. JSON_ARRAYAGG()–MySQLのクエリの行からJSON配列を作成します

    4. 別のプロセスが古いデータを取得しないようにSELECTをロックします