3

重複の可能性:
内部結合と完全結合の違い

特にSQL Server 2008内で、これら2つの違いは何ですか?

select * from table1 t1, table2 t2 where t1.col1 = t2.col1

select * from table1 t1 INNER JOIN table2 t2 ON t1.col1 = t2.col1
4

2 に答える 2

2

それらは同じです。

ただし、別のテーブルに対してINNER JOINも実行したい場合、構文はどのようになるかを考えてみてください。OUTER JOIN

INNER JOIN後で SQL を変更する必要がある場合に簡単に変更できるように、構文に従う方が一貫性があります。さらに、一貫性があると、他の人があなたの意図をよりよく理解できるようになります。

于 2012-08-19T21:04:18.517 に答える
1

join1つ目は内部結合を記述する古い方法であり、2つ目はコマンドがSQLに追加された後に書き込まれる方法です。

両方の方法が受け入れられる限り、結果にまったく違いはありません。2つのクエリの実行プランは同じになります。

結合を記述する古い方法は段階的に廃止されており、SQLServerの新しいバージョンの特定のモードでは許可されない場合があります。SQLServer2008にはありません。

于 2012-08-19T21:03:44.637 に答える