SQL on and 和 on where 的区别
生活随笔
收集整理的這篇文章主要介紹了
SQL on and 和 on where 的区别
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
?on and 和 on where 的 區(qū)別
在使用?left join?時(shí), on and 和?on where?會有區(qū)別;
1. on的條件是在連接生成臨時(shí)表時(shí)使用的條件,以左表為基準(zhǔn) ,不管on中的條件真否,都會返回左表中的記錄
on 后面 and 都是對右表進(jìn)行篩選
2.where是全部連接完后,對臨時(shí)表進(jìn)行篩選,篩選對左表和右表都有效
在使用inner join時(shí),on? ?and與on? where條件的區(qū)別:不管是對左表還是右表進(jìn)行篩選,on? and和on? where都會對生成的臨時(shí)表進(jìn)行過濾。
1. 新建表 t1
2. 新建表 t2
3. 關(guān)聯(lián)查詢:
select * from t1 left join t2 on t1.user_id = t2.user_idon and?
a.) 對左表加and 條件
select * from t1 left join t2 on t1.user_id = t2.user_id and t1.deleted = 0?
b.) 對右表加and 條件
select * from t1 left join t2 on t1.user_id = t2.user_id and t2.deleted = 0?
?on where
select * from t1 left join t2 on t1.user_id = t2.user_id where t1.deleted = 0 select * from t1 left join t2 on t1.user_id = t2.user_id where t2.deleted = 0?
轉(zhuǎn)載于:https://www.cnblogs.com/Uzai/p/11260361.html
總結(jié)
以上是生活随笔為你收集整理的SQL on and 和 on where 的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SNS编年史
- 下一篇: SQL Server安装文件挂起错误解决