Оператор NOT
Оператор NOT используется в сочетании с другими операторами для получения противоположного результата, также называемого отрицательным результатом.
В приведенной ниже инструкции select мы хотим вернуть всех клиентов, которые не являются из Испании:
Выбирайте только тех клиентов, которые не из Испании:
SELECT * FROM Customers
WHERE NOT Country = 'Spain';
Попробуйте сами »
В приведенном выше примере оператор NOT используется в сочетании с оператором =, но он может использоваться в сочетании с другими операторами сравнения and/or логическими операторами. Смотрите примеры ниже.
Синтаксис NOT
SELECT column1, column2, ...
FROM table_name
WHERE NOT condition;Демо база данных
Ниже приведена подборка из таблицы Customers, используемая в примерах:
| CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
|---|---|---|---|---|---|---|
| 1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
| 2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
| 3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
| 4 |
Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
| 5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
Оператор NOT LIKE
Выберите клиентов, имя которых не начинается с буквы "А":
SELECT * FROM Customers
WHERE CustomerName NOT LIKE 'A%';
Попробуйте сами »
Оператор NOT BETWEEN
Выберите клиентов с идентификатором клиента не в диапазоне от 10 до 60:
SELECT * FROM Customers
WHERE CustomerID NOT BETWEEN 10 AND 60;
Попробуйте сами »
Оператор NOT IN
Выберите клиентов, которые не из Парижа или Лондона:
SELECT * FROM Customers
WHERE City NOT IN ('Paris', 'London');
Попробуйте сами »
Оператор NOT Больше, чем
Выберите клиентов с идентификатором клиента не более 50:
SELECT * FROM Customers
WHERE NOT CustomerID > 50;
Попробуйте сами »
Примечание: Существует оператор not-greater-than: !> ,который дал бы вам тот же результат.
Оператор NOT Меньше, чем
Выберите клиентов с идентификатором клиента не менее 50:
SELECT * FROM Customers
WHERE NOT CustomerId < 50;
Попробуйте сами »
Примечание: Существует оператор not-less-than: !<, который дал бы вам тот же результат.