我有点不习惯MySQL,所以我希望我能在这里找到一些关于我的问题的建议。
基本上我有两张桌子,为方便起见,将它们称为A和B.两个表都具有类型为varchar
的可空列C。当我使用C加入A和B时,我丢失了任何表中C为NULL的所有行。我知道这在MySQL中是正常的,但我想得到的是一个包含两个表中C为NULL的行组合的连接。
我发现下面的查询似乎运作良好。
SELECT *
FROM A JOIN B
ON (A.C IS NULL AND B.C IS NULL) OR (A.C IS NOT NULL AND B.C IS NOT NULL AND A.C = B.C)
所以我的问题是,这个查询是我能得到的最好的还是有办法让这个联接变得更好?谢谢!