1

違いは何ですか ?

SELECT u.id,u.name,u.email,d.city,d.state 
from users u, userdetails d 
where u.id=d.uid

SELECT u.id,u.name,u.email,d.city,d.state 
from users u join userdetails d on u.id=d.uid

両方とも異なる書き方ですか?どちらが速いですか?

4

4 に答える 4

0

結合オプションを選択すると、より多くの制御が可能になり、さまざまなタイプの結合 (内部、左など) を調べて、例に必要なものを正確に把握できます。

(インナーがベストだと思います)

http://www.w3schools.com/sql/sql_join.asp

于 2013-11-04T11:50:56.117 に答える
0

変数は各データセットで同じ名前を持っていない可能性があるため、自然結合は使用できません。同じステートメントで 3 つ以上のテーブルを結合することも可能です。変換や条件付きロジックを実行することもできます。

于 2013-11-04T11:56:07.947 に答える
0

これ:

SELECT u.id,u.name,u.email,d.city,d.state 
FROM users u, userdetails d 

デカルト積(順序付けられたすべてのペアの集合) です。

where 句を追加すると、次のようになります。

SELECT u.id,u.name,u.email,d.city,d.state 
FROM users u, userdetails d 
WHERE u.id=d.uid

結合(それぞれに共通の値を使用して 2 つのテーブルのフィールドを結合する) を取得します。これは次と同等です。

SELECT u.id,u.name,u.email,d.city,d.state 
FROM users u join userdetails d on u.id=d.uid
于 2013-11-04T11:53:30.703 に答える