select * from A LEFT JOIN B ON a.id = b.aid
我们写sql的时候使用LEFT JOIN往往会以为查出来的数据是和最左边表的数量一致,但是有时候不一致,这时候应该是发生笛卡尔积了,ON后面的条件,A表和B表是一对多的。这时候有一种处理方式是修改ON后面的条件使之变成一对一,那查出来的数量就和A表中的数量一致了。如下图所示:
select * from A LEFT JOIN B ON (a.id = b.aid and a.其它字段 = b.其它字段)