一般的に、INNER JOIN
およびEXISTS
別のものです。
前者は両方のテーブルから重複と列を返し、後者は1つのレコードを返し、述語であるため、1つのテーブルのみからレコードを返します。
UNIQUE
で内部結合を行う場合 列、それらは同じパフォーマンスを示します。
DISTINCT
を使用してレコードセットで内部結合を行う場合 適用(重複を取り除くため)、EXISTS
通常は高速です。
IN
およびEXISTS
句(等結合相関を使用)は通常、いくつかのSEMI JOIN
の1つを使用します 通常、DISTINCT
よりも効率的なアルゴリズム テーブルの1つに。
私のブログでこの記事を参照してください:
- IN vs. JOIN vs. EXISTS