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)
これは正しく機能しますが、もっと良い方法があるはずですか?