SQLについてですが、=による結合と内部結合の違いがわかりません。 from 社員表、部門表 where 社員表.部門コード = 部門表.部門コード from 社員表 INNER JOIN 部門表 ON 社員表.部

SQLについてですが、=による結合と内部結合の違いがわかりません。 from 社員表、部門表 where 社員表.部門コード = 部門表.部門コード from 社員表 INNER JOIN 部門表 ON 社員表.部 門コード = 部門表.部門コード 結果は同じになるみたいですが、どうゆう違いがあるのでしょうか。 ちなみにselectは省略しています。携帯からなので読みづらくてすみません。

MySQL3,592閲覧

ベストアンサー

0

出力結果としては一緒です。 JOIN構文は1992年に制定されたSQL92で導入されたものなので、それまではFROM句で複数のテーブル名を指定してWHERE句で結合条件を指定していました。 ただし、RDBMSの実装にもよりますが、JOINの結合条件(ON句)の方が実行順序として優先される傾向があるのも確かです。 そのため、結合の際の駆動表側の件数を大幅に削減できるなら、 ・RDBMSでサポートするならON句にその条件を追加する(ACCESSのJET SQLでは出来ませんが) ・FROM句のテーブルをサブクエリにして件数を絞ってから結合することを明示する などの工夫の余地があります。

ThanksImg質問者からのお礼コメント

回答ありがとうございます。変わらないんですね。

お礼日時:2013/9/30 21:51

その他の回答(1件)

0

基本的には全く同じ物です。 WHERE句での結合はJOIN句が存在しなかったころに使われていた書き方です。 SQLとしてはJOIN句を使うことが推奨されています。