1. 程式人生 > >關於sql裡面的join on 後面的條件和where後面的條件的區別。。。。

關於sql裡面的join on 後面的條件和where後面的條件的區別。。。。

面試過程中被問到了。。。。

先來轉載一篇說的簡單清晰的部落格。。

https://blog.csdn.net/muxiaoshan/article/details/7617533 

資料庫中join on 後面的條件和where後面的條件的區別:

  資料庫在通過連線兩張或多張表來返回記錄時,都會生成一張中間的臨時表,然後再將這張臨時表返回給使用者。

1、在left join on 或者right join on的時候,on的限制條件是在零時表的時候使用的, 不管on的條件是true還是false,都會返回左邊或者右邊表的記錄的,

2、而where是在臨時表生成的時候在去過濾資料的,此刻查詢的時候不滿足條件的資料就全被過濾掉的。