Проблемът е, че a !=b е NULL, когато a или b е NULL.
<=>
е NULL-безопасният оператор за равенство. За да получите NULL-безопасен, който не е равен на вие, можете просто да обърнете резултата:
SELECT *
FROM my_table
WHERE NOT column_a <=> column_b
Без да използвате оператора null safe, ще трябва да направите това:
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)