left outer join、right outer join 、inner outer join是sql里面用的不少的,因此须要深刻理解它的用法mysql
- a left b,若是a表的一条记录匹配中了b表的多条记录,那么最后会返回多条记录。
- a left b,若是a表的多条记录同时匹配中b表的一条记录,那么最后会返回a表中的多条记录,而且他们都是匹配中b表的那一条记录。
- a left b on condition,不管condition条件是什么,a表的记录都会存在,condition只是约束b表匹配a表的条件罢了,若是condition太严格,只会让b表一条记录都没匹配中,可是a表的记录一直都在。同时,condition能够是多个条件,条件之间用and链接。
- inner join的查询语句SELECT * FROM a INNER JOIN b ON a.aID =b.bID等同于如下SQL句: SELECT * FROM a,b WHERE a.aID = b.bID。注意不一样的数据库可能有些差别。
- 在hive中,on后面的条件操做符好像只能为等号,若是想加不等于的条件,能够后面再跟where条件。
超详细mysql left join,right join,inner join用法分析sql