# Команда NOT

Команда `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).

## Синтаксис

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

## Таблицы для примеров

таблица employees
id айди | name имя | age возраст | salary зарплата
--- | --- | --- | ---
1 | user1 | 23 | 400
2 | user2 | 25 | 500
3 | user3 | 23 | 500
4 | user4 | 30 | 900
5 | user5 | 27 | 500
6 | user6 | 28 | 900

## Пример

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

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

Результат выполнения кода:

id айди | name имя | age возраст | salary зарплата
--- | --- | --- | ---
2 | user2 | 25 | 500
4 | user4 | 30 | 900
6 | user6 | 28 | 900

## Пример

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

`SELECT * FROM employees WHERE id NOT BETWEEN 3 AND 5`

Результат выполнения кода:

id айди | name имя | age возраст | salary зарплата
--- | --- | --- | ---
1 | user1 | 23 | 400
2 | user2 | 25 | 500
6 | user6 | 28 | 900

## Смотрите также

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

↑