What is the difference between NOT and != operators in SQL?

sql

Solution

`NOT` negates the following condition so it can be used with various operators. `!=` is the non-standard alternative for the `<>` operator which means "not equal".

e.g.

NOT (a LIKE 'foo%')
NOT ( (a,b) OVERLAPS (x,y) )
NOT (a BETWEEN x AND y)
NOT (a IS NULL)

Except for the `overlaps` operator above could also be written as:

a NOT LIKE 'foo%'
a NOT BETWEEN x AND y
a IS NOT NULL

In some situations it might be easier to understand to negate a complete expression rather then rewriting it to mean the opposite.

`NOT` can however be used with `<>` - but that wouldn't make much sense though: `NOT (a <> b)` is the same as `a = b`. Similarly you could use NOT to negate the equality operator `NOT (a = b)` is the same as `a <> b`

Problem

What is the difference between `NOT` and `!=` operators in SQL? I can't understand the difference. I guess they are same.

Original source

Related problems