SQL 空值内连接

标签 sql

如果值不为空,我只想包含对内部联接的比较。例如。我正在比较地址,一些地址具有相同的门牌号、街道地址和标签,但具有不同的公寓号,但其他地址没有与之关联的公寓号,因此该值为空。这些值不会被加入。

左外连接不起作用,因为我需要连接与具有空单元值的值关联的数据。有任何想法吗?

select * from address a
inner join ma_address ma
    on a.number=ma.number
    and a.street=ma.street
    and a.tag=ma.tag
    and a.apt=ma.apt

谢谢

最佳答案

这是因为在 SQL 中,NULL 不等于 NULL。对每个加入条件尝试类似的操作

(a.<col> = ma.<col> OR (a.<col> IS NULL AND ma.<col> IS NULL))

关于SQL 空值内连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24051106/

相关文章:

python - 如何在 FastAPI 中验证请求正文?

Mysql,outfile 问题,简单的解决方案还是更好的方法?

php - 将逗号分隔的数据拆分为多行

sql - 如何编写从 LEFT JOIN 结果中减去 INNER JOIN 结果的 SQL 查询?

mysql - 多个查询 VS 存储过程

mysql - 根据值从一行创建单独的列

sql - 从配置单元中的数组列中选择一个定界值

java - 带有动态 where 子句的准备好的语句

SQL Server INSTEAD OF INSERT 触发器失败

sql - 查询中的多个位置仅调用一次函数