@浪花s : left join的话,B.points=60加在where后面就=inner join了, 语句这么写: select * from A LEFT JOIN B ON A.id=B.fid and B.points=60 where A.name="a" 试试看。 @聽雨人 : 我explain了一下,发现没有用到B.fid这一列的索引。但是用到了B.point列。ps:我用B.fid和B.point建了组合索引,也给B.point建了单独索引。