MySQL中left join...on,where,order by和limit的位置作用及關系


  1. on是在生成臨時表的時候使用的條件,不管on的條件是否起到作用,都會返回左表的行
  2. where則是在生成臨時表之后使用的條件,此時已經不管是否使用了left join了,只要條件不為真的行,全部過濾掉。

=> 所以 where 要寫在 on 之后

例:

SELECT t.*, r.name AS remunerationName, b.total_balance AS totalBalance
    FROM teacher t LEFT JOIN remuneration r ON t.remuneration_id=r.id
    LEFT JOIN balance b ON t.id=b.teacher_id
    WHERE 1=1 ORDER BY `date` DESC LIMIT 1

參考:
mysql inner join where,MYSQL left join中 on條件和where條件的位置作用及關系


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM