1

In SQL/MySQL の補足として、join ステートメントの "ON" と "WHERE" の違いは何ですか? およびSQL 結合: where 句と on 句-条件が on 句と外部結合の where 句に配置されているかどうかは重要です。

ただし、複数の外部結合がある場合、条件がどのon 句に配置されるかは重要ですか?

たとえば、これらは異なる結果を生み出す可能性がありますか?

select * from t1 left join t2 on t1.fid=t2.id and t2.col=val
                 left join t3 on t2.fid=t3.id;

対:

select * from t1 left join t2 on t1.fid=t2.id
                 left join t3 on t2.fid=t3.id and t2.col=val;
4

3 に答える 3

1

絶対に違います。

最初のクエリにはt2、条件を満たす行のみがありますt2.col=val

2 番目のクエリにはすべての行が含まれ、次の場合にt2のみリストされます。t3t2.col=val

于 2014-12-28T20:26:19.183 に答える