首頁  >  問答  >  主體

mysql中的join on查詢語句的on能否改為where

例如:SELECT salary.`basesalary`,salary.`titlesalary`,`name`FROM salary INNER JOIN employeeWHERE salary.`empid`=employee.`empid` AND employee.sex='男';這樣也能查出正確的結果

ImhuImhu1131 天前1279

全部回覆(2)我來回復

  • ? 现在努力,未来可期!

    ? 现在努力,未来可期!2021-09-29 09:00:47

    簡單說下on跟where的差別,我用的小鳥雲1折的雲端伺服器,on是在產生臨時表時起作用,由於left on不管on裡面過濾條件是不是真的都會回傳左表裡的記錄。不符合條件的記錄,右表格欄位全是null。 Where則是在臨時表產生之後起作用,過濾臨時表,這個時候條件不為真就可以全部過濾了。

    回覆
    0
  • autoload

    autoload2021-09-14 14:03:17

    可以,兩者方式不同罷了 其中有on的話會依據on的條件,從employee表中檢索資料行,然後完成匹配,where的話會在匹配完成後再進行資料篩選

    回覆
    0
  • 取消回覆