如果我有這個疑問:MYSQL - 使用並在JOIN與WHERE子句
select * from tableA
left outer join tableB on tableA.id=tableB.id
AND tableB.foo = 1
where tableA.owner=10
我獲得了29倍的結果,但如果我動議進入WHERE子句,如:
select * from tableA
left outer join tableB on tableA.id=tableB.id
where tableA.owner=10
AND tableB.foo = 1
我那麼只能得到17個結果。
我查看了所有內容,無法找到關於在JOIN和WHERE子句中如何使用AND的不同方法的權威指南。任何人都可以向我解釋這個嗎?
此外,如果我在JOIN中執行類似AND tableB.foo = NULL
的所有操作,即使表中的值不爲空,我的所有tableB.foo字段在查詢結果中都爲NULL。在通過WHERE子句過濾之前,在JOIN子句中使用AND是否會更改FROM選擇中的該字段?
您可以在此處看到:http://stackoverflow.com/a/15706298/7416478 –