这四种连表方式产生差异主要是在where的连表条件中,A表有的数据而B表没有,或B表有的数据而A表没有时产生的。
以select * from A left(right) join on B where xxx;为例
假设A表中有deptno这个字段,分别为:10,20,30,40。而B表中也有deptno这个字段,分别为:10,20,30,50
left join:能查出10,20,30,40,即A表与B表共有的部分和A表独有的部分。
right join:能查出10,20,30,50,即A表与B表共有的部分和B表独有的部分。
inner join:能查出10,20,30,即A表与B表共有的部分。
full join:能查出10,20,30,40,50,即A表与B表中所有的部分。