今天在寫SQL的時候發現一個問題 明明加了條件卻還是篩選出來了
運作平台:Mysql
目的:比較join......on 後面的and 和where的差別
用AND後的SQL和結果集。還是有383這條結果集

用where後的SQL和結果集。沒有了這條記錄
結論
1.where 是在兩個表join完成後,再附上where條件
2.而 and 則是在表連接配接前過濾A表或B表裡面哪些記錄符合連接配接條件,同時會兼顧是left join還是right join。即
假如是左連接配接的話,如果左邊表的某條記錄不符合連接配接條件,那麼它不進行連接配接,但是仍然留在結果集中(此時右邊部分的連接配接結果為NULL)。on條件是在生成臨時表時使用的條件,它不管on中的條件是否為真,都會傳回左邊表中的記錄。
3.建議盡量用where來過濾條件