Left 、right join使用笔记

用过很多次left join,right join,看到查询出的结果,知道可能是没用left join、或者right join导致的结果,但都是用一次,网上查一次使用规则,学到的东西只是皮毛。今天用文字记录一下,加深印象,知根知底才能学的好。

在我们查一个表的时候

比如:

人员信息表:

编号

名称

部门ID

年龄

职务ID

性别

电话

122

李晶晶

1

26 

1

2234555 

123 

张金

1

29 

null

3322123 

124 

王力

2

35 

1

2245553 

125 

李心

3

21 

2

3332233 

126

鲁兰

null

232

null

3486443

 

职务信息表:

职务ID

职务名称

1 

职员

2

经理

 

这里有两张表,我希望查询的结果是得到各人员表的职位信息我职位名称,没有对应职位的不查出来。以上就是需求,接下来是查的结果。

当两张表的的联合查询时,where条件是职务id相等,这里查出来的结果就会往往会超过我们的预期结果!

人员信息表中有些职务id是职务信息表中职务id没有的,所以会有出现职务为空的数据,但我们只需要职务为1、2两个职务的数据,所以,这个时候,我们就得以职务表为基准表,left join人员信息表,这样才能是以职务信息表为准的数据

总结:

当两个或者两个以上的表联合查询时,如果两个表的数据不能一一对应,那么,我们只能以某个表为基准表,进行left join、或者right join,以基准表里有的数据为准

posted @ 2013-11-26 22:37  wxwall  阅读(308)  评论(0编辑  收藏  举报