left join 和 inner join
生活随笔
收集整理的這篇文章主要介紹了
left join 和 inner join
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
left join 和 inner join
首先 MySQL 中 inner join 的效率確實要高于 left join。所以沒必要使用 left join 轉彎成 inner join 的效果。這樣不但效率降低,可讀性也會降低。
?
Number1
select?
from t1 left join t2?
where t2.field = value?
?
Number2
select?
from t1 left join t2 ?and?t2.field = value
?
這兩種寫法涉及到一個條件位置不同查詢結果就不一致的問題,Number1的意思其實和使用 inner join 效果是一致的,因為他對連接的結果做了過濾;
Number2 則是先對 t2 做過濾,然后再連接,所以他的結果集要大于 Number1,換句話說Number2的條件是強加在 t2 上的,而不是整個結果集。
另外,如果把查詢條件改為?t2.field? is ?null ; 前者與后者的結果是一致的,都是表示存在 t1 不存在 t2,所以這個比較特殊。
總之盡量不要使用 left join,除非業務需要,否則盡量使用 inner join.
轉載于:https://my.oschina.net/heweipo/blog/1083430
總結
以上是生活随笔為你收集整理的left join 和 inner join的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 去除列表中重复的元素
- 下一篇: 腾讯视频转码,把qlv格式转换成mp4格