我发现很多初学者,在多表关联查询数据的时候,常常直接用 inner join 或者干脆用 join ,但有时这样使用会使
返回的结果造成差异,可能结果并不是我们所需要的,有的时候多了几条数据,有的时候少了几条,
这个时候就要记得使用Left join 或者 Right jion ,当然方向是向着那个主表(或者叫母表、基表)
例如:
表 tblA
包括字段:
fldAPK
flda1
flda2
表 tblB
包括字段:
fldBPK
fldAPK(也就是tblA的子表)
fldb1
fldb2
注:tblA和tblB数据是一一对应的
这好候,如果想从tblA中取出数据,tblB中字段也要包括,就应该这样
select tblA.*,tblB.* from tblA left join tblB on (tblA.fldAPK = tblB.fldAPK)
说明:我这个例子可能举得不够恰当,我是想说不这样,会使返回的记录数不一样,意思大概是这样,现在是
上班时间,利用中午休息的时间写的,有点仓促,晚上回家我会使它完善的