Mysql中left join on and和left join on where 的區別

LEFT JOIN ON WHERE:在臨時表生成後,再對臨時表的數據進行過濾,再返回左表。

LEFT JOIN ON AND:在臨時表生成的過程時,ON中的條件不管是否爲真,都將返回左表。

比如有一個用戶表user

有一個成績表score[無圖]

想查詢總分大於250分的信息

SELECT * FROM `user` a LEFT JOIN score b ON a.id = b.user_id AND total_score > 250

結果是:

用where條件查詢SELECT * FROM `user` a LEFT JOIN score b ON a.id = b.user_id WHERE total_score > 250

用and這種情況也比較多,比方說就是想統計滿足條件的左邊表的記錄,就算爲空,也要列出來,那這種方法就很好使用,否則還要在連接一次用戶表。


————————————————
版權聲明:本文爲CSDN博主「咔嚓楊」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/u013252047/article/details/78746494

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章