最近在业务中做数据开发的时候,写了一个 SQL 但是没有得到预期的结果,大致如下
1 | |
1 | |
然后圈选的 SQL 的为
1 | |
本意上,通过 LEFT JOIN ,即使没有找到,也应该正常返回数据,但是实际上没有返回任何数据
因为 WHERE 条件是在 JOIN 之后发生的,所以实际上,因为 LEFT JOIN 拿不到数据,所以所有列的 b.type 都是 NULL,当然就不是 true
此时可以拆分这两个条件,例如
1 | |
最近在业务中做数据开发的时候,写了一个 SQL 但是没有得到预期的结果,大致如下
1 | |
1 | |
然后圈选的 SQL 的为
1 | |
本意上,通过 LEFT JOIN ,即使没有找到,也应该正常返回数据,但是实际上没有返回任何数据
因为 WHERE 条件是在 JOIN 之后发生的,所以实际上,因为 LEFT JOIN 拿不到数据,所以所有列的 b.type 都是 NULL,当然就不是 true
此时可以拆分这两个条件,例如
1 | |