<> é o padrão SQL-92; != é seu equivalente. Ambos avaliam valores, que NULL não é -- NULL é um espaço reservado para dizer que há a ausência de um valor. É por isso que você só pode usar
IS NULL /IS NOT NULL como predicados para tais situações. Esse comportamento não é específico do SQL Server. Todos os dialetos SQL compatíveis com os padrões funcionam da mesma maneira.
Observação :para comparar se seu valor não for nulo , você usa
IS NOT NULL , enquanto para comparar com not null valor, você usa <> 'YOUR_VALUE' . Não posso dizer se meu valor é igual ou não a NULL, mas posso dizer se meu valor é NULL ou NOT NULL. Posso comparar se meu valor é algo diferente de NULL.