2017-04-13 7 views
0

私はポイントを得ることができません。いくつかのテーブルからVS内部結合

select e.empid 
from employee_table e 
inner join customer_table c 
on deref(c.infos).personid = deref(e.infos).personid 
order by e.empid; 

select e.empid 
from employee_table e, customer_table c 
where deref(c.infos).personid = deref(e.infos).personid 
order by e.empid; 

結果が同じであるとの違いは何ですか

。 他のものよりも実行が速いのは1つですか?

複数のテーブルから簡単に選択できる場合は、内部結合を使用するのはいつですか?

答えて

1

これらの2つのクエリは同等です。しかし、最初のものはANSI-92スタイルの結合を使用し、2つ目はANSI-89スタイルの結合を使用しています。新しい結合構文では、エラーが発生しにくく、25年ほど経ちました。

常にANSI-92スタイルの結合を使用する必要があります。 http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins.aspx

+0

私はe.supervisorの投稿を編集しました。アドバイスありがとう。それはexacltly同じSQLエンジンで実行されますか? –

+0

私はどのSQLエンジンが知られていませんが、これらはANSI標準であり、ほぼすべてのDBMSがこれらのかなり近いところに続いています。確かに結合のすべての主要なものは同一です。 –

関連する問題