MySQL IS NULL 替代方案

标签 mysql

我有一个比较 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”。

最佳答案

我不明白您为什么喜欢那样,但无论如何,更改为您的第二个查询是不正确的。 length(b.id) 将返回 null,而不是 0,因为 b 中的行与 a 中的行不匹配。

这很容易测试,就像我在 sqlfiddle 上做的一样.

关于MySQL IS NULL 替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25043283/

相关文章:

java - BigDecimal 的 JPA @Size 注释

mysql - 尝试从同一个表中获取匹配和不匹配的值

python - 如何在一行中显示多个字段? (Django 管理员)

php - 是否有可能计算类似 mysql 结构的匹配数?

mysql - 1242 - 子查询在子查询中返回多于 1 行

mysql - 如何以动态方式删除第一组或最后一组行

mysql - 全选但忽略重复项

mysql - 多重连接和乘法

php - 使用 js 在 php 中动态显示/隐藏 div 控件?

mysql - 如何对一个字段的 GROUP BY 和 LIMIT N 结果进行分组?