where 和 join on 区别
时间: 2023-09-11 17:03:24 浏览: 62
在使用left join时,on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。而where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。\[1\]\[2\]
简而言之,on条件是在连接两个表时使用的条件,而where条件是在连接完成后对结果进行过滤的条件。on条件会影响连接的结果,而where条件只会影响最终的查询结果。\[1\]\[2\]
#### 引用[.reference_title]
- *1* [left join inner join on 和where区别](https://blog.csdn.net/qq_36579777/article/details/89412958)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [SQL基础知识:join操作后面的on与where的区别](https://blog.csdn.net/ZYC88888/article/details/112898812)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]