我想了解的情況以及哪裏會影響語句的執行,但沒有運氣..LEFT JOIN聲明與ON和WHERE
我有這樣的說法,給了我預期的結果:
SELECT DISTINCT u1.email
FROM user u1
LEFT JOIN user u2
ON u1.email = u2.email
WHERE u1.id != u2.id
轉乘ON和WHERE給出了相同的結果這是很好的,但是當我刪除了在那裏我得到更多的結果是:
SELECT DISTINCT u1.email
FROM user u1
LEFT JOIN user u2
ON u1.email = u2.email
AND u1.id != u2.id
這是爲什麼?
在結果中添加'u2.email'會讓你更清楚地知道你得到的結果:http://sqlfiddle.com/#!2/6a133/52'LEFT JOIN'也返回那些在'ON'子句中有空匹配 –
@MichaelBerkowski謝謝我明白了! :) – user2868631