SELECT A.* ,B.type FROM Table_A A LEFT JOIN Table_B B ON A.id=B.id WHERE B.type=1
改为
SELECT A.* ,B.type FROM Table_A A LEFT JOIN Table_B B ON A.id=B.id AND B.type=1
原因
sql1是在SELECT A.* ,B.type FROM Table_A A LEFT JOIN Table_B B ON A.id=B.id查询后执行WHERE B.type=1,所以过滤掉了type不为1的数据
sql2可以理解为是在A关联B时对比B进行了筛选