left join right join inner join*

left outer join、right outer join 、inner outer join是sql裏面用的不少的,因此須要深刻理解它的用法mysql

  1. a left b,若是a表的一條記錄匹配中了b表的多條記錄,那麼最後會返回多條記錄。
  2. a left b,若是a表的多條記錄同時匹配中b表的一條記錄,那麼最後會返回a表中的多條記錄,而且他們都是匹配中b表的那一條記錄。
  3. a left b on condition,不管condition條件是什麼,a表的記錄都會存在,condition只是約束b表匹配a表的條件罷了,若是condition太嚴格,只會讓b表一條記錄都沒匹配中,可是a表的記錄一直都在。同時,condition能夠是多個條件,條件之間用and鏈接。
  4. inner join的查詢語句SELECT * FROM a INNER JOIN b ON a.aID =b.bID等同於如下SQL句: SELECT * FROM a,b WHERE a.aID = b.bID。注意不一樣的數據庫可能有些差別。
  5. 在hive中,on後面的條件操做符好像只能爲等號,若是想加不等於的條件,能夠後面再跟where條件。

超詳細mysql left join,right join,inner join用法分析sql

相關文章
相關標籤/搜索