Das Problem ist, dass a !=b NULL ist, wenn entweder a oder b NULL ist.
<=>
ist der NULL-sichere Gleichheitsoperator. Um einen NULL-Safe ungleich zu erhalten, können Sie das Ergebnis einfach umkehren:
SELECT *
FROM my_table
WHERE NOT column_a <=> column_b
Ohne den Null-Safe-Operator zu verwenden, müssten Sie Folgendes tun:
SELECT *
FROM my_table
WHERE column_a != column_b
OR (column_a IS NULL AND column_b IS NOT NULL)
OR (column_b IS NULL AND column_a IS NOT NULL)