SQL on and 和 on where 的区别
生活随笔
收集整理的這篇文章主要介紹了
SQL on and 和 on where 的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?on and 和 on where 的 區別
在使用?left join?時, on and 和?on where?會有區別;
1. on的條件是在連接生成臨時表時使用的條件,以左表為基準 ,不管on中的條件真否,都會返回左表中的記錄
on 后面 and 都是對右表進行篩選
2.where是全部連接完后,對臨時表進行篩選,篩選對左表和右表都有效
在使用inner join時,on? ?and與on? where條件的區別:不管是對左表還是右表進行篩選,on? and和on? where都會對生成的臨時表進行過濾。
1. 新建表 t1
2. 新建表 t2
3. 關聯查詢:
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?
轉載于:https://www.cnblogs.com/Uzai/p/11260361.html
總結
以上是生活随笔為你收集整理的SQL on and 和 on where 的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SNS编年史
- 下一篇: 《王者荣耀》关羽新皮加了头盔:曾被举报单