В этом учебном материале вы узнаете, как использовать Oracle условие NOT с синтаксисом и примерами.
Описание
Oracle условие NOT (также называется NOT оператор) используется для отрицания условия в предложениях SELECT, INSERT, UPDATE или DELETE.
Синтаксис
Синтаксис условия NOT в Oracle/PLSQL:
Параметры или аргументы
condition Условие отрицания.
Примечание
- Oracle условие NOT требует, чтобы противоположные условия должны быть выполнены для записей, которые будут включены в результирующий набор.
Пример сочетания с условием IN
Oracle условие NOT может быть объединено с условием IN.
Например:
1 2 3 |
SELECT * FROM customers WHERE customer_name NOT IN ( 'IBM', 'Hewlett Packard', 'Microsoft' ); |
В этом примере Oracle NOT возвратит все строки из таблицы customers, где customer_name не IBM, Hewlett Packard, или Microsoft. Иногда, это более эффективно перечислить значения, которые вы не хотите, в отличие от тех значений, которые вы хотите.
Пример сочетания с условием IS NULL
Oracle условие NOT может быть объединено с условием IS NULL.
Например:
1 2 3 |
SELECT * FROM customers WHERE last_name IS NOT NULL; |
В этом примере Oracle NOT возвратит все записи из таблицы customers, где last_name не содержит значение NULL.
Пример сочетания с условием LIKE
Oracle условие NOT может быть объединено с условием LIKE.
Например:
1 2 3 |
SELECT customer_name FROM customers WHERE customer_name NOT LIKE 'S%'; |
Размещая Oracle оператор NOT перед условием LIKE, вы можете получить все записи таблицы customers, чьи значения customer_name не начинаются на 'S'.
Пример сочетания с условием BETWEEN
Oracle условие NOT также может использоваться с условием BETWEEN. Ниже приведен пример того, как объединить оператор NOT с условием BETWEEN.
Например:
1 2 3 |
SELECT * FROM customers WHERE customer_id NOT BETWEEN 4000 AND 4100; |
Этот пример Oracle NOT будет возвращать все строки, где значения customer_id не было между 4000 и 4100 (включительно). Это было бы равносильно следующему утверждению Oracle SELECT:
1 2 3 4 |
SELECT * FROM customers WHERE customer_id < 4000 OR customer_id > 4100; |
Пример сочетания NOT с условием EXISTS
Oracle условие NOT также может использоваться с условием EXISTS.
Например:
1 2 3 4 5 |
SELECT * FROM suppliers WHERE NOT EXISTS (SELECT * FROM orders WHERE suppliers.supplier_id = orders.supplier_id); |
Этот пример Oracle NOT будет возвращать все строки таблицы suppliers, где нет никаких записей в таблице orders для данного supplier_id.