根据你的查询条件,使用LEFT JOIN和WHERE子句进行筛选时,可能会导致结果中缺少一些数据。这是因为WHERE子句对连接后的结果进行过滤,有可能过滤掉了某些行。
如果你想保留表一(test1)中所有的数据,并只过滤掉表二(test2)中name列等于”test”的行,可以将WHERE子句改为在ON子句中进行条件筛选,如下所示:
SELECT test1.id, test2.name
FROM test1
LEFT JOIN test2 ON test1.id = test2.id AND test2.name != "test";
这样,在执行连接操作时就已经将不符合条件的行排除在外了。
希望这个修改后的查询可以返回你期望得到的结果!
内容由零声教学AI助手提供,问题来源于学员提问




