我有一个比较2个表的查询:
SELECT a.id FROM a
LEFT JOIN b
ON a.id = b.id
WHERE b.id IS NULL
可以使用这样的替代品吗?
SELECT a.id FROM a
LEFT JOIN b
ON a.id = b.id
WHERE LENGTH(b.id) = 0
请记住,b中未找到的a.id将返回'NULL'。
答案 0 :(得分:3)
我不明白你为什么喜欢这样,但无论如何,改变你的第二个查询是不正确的。对于b中不匹配行的行,length(b.id)
将返回null,而不是0。
这很容易测试,就像我在sqlfiddle上所做的那样。
答案 1 :(得分:0)
不,如果找不到b.id且不为零,则LENGTH方法将返回NULL。