MySQLでJOIN
を書く unqualifiedは、INNER JOIN
を意味します 。言い換えれば、INNER
INNER JOIN
で オプションです。 INNER
およびCROSS
MySQLの同義語です。わかりやすくするために、JOIN
と書きます。 またはINNER JOIN
結合条件があり、CROSS JOIN
がある場合 条件がない場合。
結合に許可される構文は、ドキュメント で説明されています。 。
効果は同じですが、その背後にある歴史は異なります。カンマ構文は、ANSI-89規格に準拠しています。ただし、この構文には多くの問題があるため、ANSI-92規格ではJOINキーワードが導入されました。
常にすることを強くお勧めします カンマではなくJOIN構文を使用してください。
-
T1 JOIN T2 ON ...
T1, T2 WHERE ...
よりも読みやすい 。 - テーブルの関係とフィルターが混在するのではなく明確に定義されているため、より保守しやすくなります。
- JOIN構文は、コンマ構文よりもOUTERJOINに変換する方が簡単です。
- 同じステートメントでカンマとJOIN構文を混在させると、優先順位の規則が原因で奇妙なエラーが発生する可能性があります。
- 結合句が結合の横に記述されており、結合句が欠落しているかどうかを簡単に確認できるため、結合句を忘れたためにJOIN構文を使用するときに誤ってデカルト積を作成する可能性が低くなります。