私はこのクエリがある場合:MYSQL - 使用とでは、対JOINのWHERE句
select * from tableA
left outer join tableB on tableA.id=tableB.id
where tableA.owner=10
AND tableB.foo = 1
I:
select * from tableA
left outer join tableB on tableA.id=tableB.id
AND tableB.foo = 1
where tableA.owner=10
が、私は29件の結果を得るが、私はそれを移動した場合、ANDをWHERE句のようにわずか17の結果しか得られません。
私はJOINとWHERE節の間でANDの使い方がどのように異なっているかについて明確なガイドを見つけることができません。誰も私にこれを説明することはできますか?
また、私がのJOINのようなことをすると、テーブル内のnullでない場合でも、すべてのtableB.fooフィールドがクエリ結果にNULLになります。 JOIN句にANDを指定すると、WHERE句でフィルタリングされる前にFROM選択項目のそのフィールドが変更されますか?
ここでは、http://stackoverflow.com/a/15706298/7416478を見ることができます。 –