Команда NOT задает отрицание для других команд: вместо IN можно написать NOT IN, вместо BETWEEN - NOT BETWEEN и так далее.

Как это работает: возьмем, для примера, команду IN и с ее помощью выберем записи, у которых id имеет значение 1, 3, 7, 14, 28. Это будет выглядеть так: WHERE id IN (1, 3, 7, 14, 28).

А теперь воспользуемся отрицанием NOT и выберем все записи, у которых id НЕ равен 1, 3, 7, 14, 28 таким образом: WHERE id NOT IN (1, 3, 7, 14, 28).

См. также команду IS NULL, которая проверяет поле на NULL.

См. также команду IS NOT NULL, которая проверяет поле на не NULL.

Синтаксис

NOT IN (значение1, значение2...)
NOT BETWEEN значение1 AND значение2
NOT LIKE шаблон

Примеры

Все примеры будут по этой таблице workers, если не сказано иное:

id
айди
name
имя
age
возраст
salary
зарплата
1 Дима 23 400
2 Петя 25 500
3 Вася 23 500
4 Коля 30 1000
5 Иван 27 500
6 Кирилл 28 1000

Пример

Давайте выберем записи с id, НЕ равным 1, 3 и 5:

SELECT * FROM workers WHERE id NOT IN (1, 3, 5)

SQL запрос выберет следующие строки:

id
айди
name
имя
age
возраст
salary
зарплата
2 Петя 25 500
4 Коля 30 1000
6 Кирилл 28 1000

Пример

Давайте выберем записи с id, НЕ между 3 и 5:

SELECT * FROM workers WHERE id NOT BETWEEN 3 AND 5

SQL запрос выберет следующие строки:

id
айди
name
имя
age
возраст
salary
зарплата
1 Дима 23 400
2 Петя 25 500
6 Кирилл 28 1000