gpt4 book ai didi

mysql - 当两个表都包含 NULL 时如何加入

转载 作者:可可西里 更新时间:2023-11-01 07:13:42 25 4
gpt4 key购买 nike

我正在对 2 个表的 2 列进行外部联接。如果 table1.column1=table2.column1 和 table1.column2=table2.column2,则应该发生连接。由于 column2 允许包含 null,因此只要值为 null,连接就会失败,因为 null 不等于 null(只有计算机科学家会喜欢)。

我想到的解决方法是:

select table1.column1,table1.colunn1,table2.column1,table2.column2 from 
table1
left join table2
on table1.column1=table2.column1
and if(table1.column2 is null,table2.column2 is null, table1.column2=table2.column2)

这工作正常,但一定有更好的方法吗?

最佳答案

您可以使用 MySQL null-safe comparison operator <=> :

SELECT    t1.column1, t1.column2, t2.column1, t2.column2 
FROM table1 t1
LEFT JOIN table2 t2
ON t1.column1 = t2.column1 AND t1.column2 <=> t2.column2

关于mysql - 当两个表都包含 NULL 时如何加入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11566409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com