Команда 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 используется для исключения строк,
значение которых входит в заданный список:
NOT IN (value1, value2, ...)
Синтаксис NOT IN используется для исключения строк,
значение которых входит в заданный список:
NOT BETWEEN value1 AND value2
Синтаксис NOT LIKE используется для фильтрации строк,
которые не соответствуют заданному шаблону:
NOT LIKE pattern
Таблицы для примеров
| 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