ON
とWHERE
を使用してフィルタリング結合を理解していますか?フィルタリングジョイン:WHERE対ON
WHERE
...彼らもWHERE
フィルターかかわらず、除外されますので、意図したテーブルのすべてのレコードを表示しませんLEFT JOIN
またはRIGHT JOIN
を意味し、結合されたテーブルの結果をフィルタリングします他のテーブルのフィールドにある可能性があります。
ON
...接合されるテーブルのフィルタとして使用することができます。私はON
は、2つのテーブルを結合するときにフィールドを比較するためにのみ使用されていたと考えていましたが、結合されている特定のテーブルのために孤立したWHERE
のように動作することもできます。あなたが唯一の2つのテーブルを結合しているときに、このの
どれも本当に重要ませんが、私は3+のテーブル間で結合し、非常に大きなを行う場合の違いを理解することが重要であることを認識するようになりました。
「入」は結合条件のためのもので、「内なる結合」の結果のみをフィルタリングします – Lamak
2つの違いは何ですか?現時点では、あなたは2つの質問をしているようです。 – Patrick
この質問をチェックすると、これにいくつかの良い答えがあります。http://stackoverflow.com/questions/1401889/sql-filter-criteria-in-join-criteria-or-where-clause-which-is-more-efficient – Gratzy