В этом учебном пособии вы узнаете, как использовать PostgreSQL условие NOT с синтаксисом и примерами.
Описание
PostgreSQL условие NOT (также называемое оператором NOT) используется для отрицания условия в операторе SELECT, INSERT, UPDATE или DELETE.
Синтаксис
Синтаксис для условия NOT в PostgreSQL:
Параметры или аргументы
- condition
- Отрицание условия.
Примечание
- PostgreSQL условие NOT требует, чтобы была соблюдена противоположность condition, чтобы запись была включена в набор результатов.
Пример - сочетание с условием IN
Условие NOT для PostgreSQL можно комбинировать с условием IN.
Например:
1 2 3 |
SELECT * FROM employees WHERE last_name NOT IN ('Ivanov', 'Abramov', 'Sutkin'); |
Этот пример PostgreSQL NOT вернул бы все строки из таблицы employee, где last_name not, 'Ivanov', 'Abramov' или 'Sutkin'. Иногда более эффективно перечислять значения, которые вы не хотите, в отличие от значений, которые вы хотите.
Пример - сочетание с условием IS NULL
PostgreSQL условие NOT также можно комбинировать с условием IS NULL.
Например,
1 2 3 |
SELECT * FROM contacts WHERE address IS NOT NULL; |
Этот пример PostgreSQL NOT вернул бы все записи из таблицы contacts, где address не содержит значения NULL.
Пример - сочетание с условием LIKE
Условие NOT в PostgreSQL также можно комбинировать с условием LIKE.
Например:
1 2 3 |
SELECT product_name, product_description FROM products WHERE product_name NOT LIKE 'H%'; |
Поместив PostgreSQL оператор NOT перед условием LIKE, вы можете получить все записи products, product_name которых не начинается с 'H'.
Пример - сочетание с условием BETWEEN
Условие NOT в PostgreSQL также можно комбинировать с условием BETWEEN. Вот пример того, как вы могли бы объединить оператор NOT с условием BETWEEN.
Например:
1 2 3 |
SELECT * FROM employees WHERE employee_id NOT BETWEEN 525 AND 600; |
Этот PostgreSQL пример NOT вернул бы все строки из таблицы employee, где employee_id не находится в диапазоне от 525 до 600 включительно. Это было бы эквивалентно следующему оператору SELECT:
1 2 3 4 |
SELECT * FROM employees WHERE employee_id < 525 OR employee_id > 600; |
Пример - сочетание с условием EXISTS
Условие NOT в PostgreSQL также можно комбинировать с условием EXISTS.
Например,
1 2 3 4 5 |
SELECT * FROM products WHERE NOT EXISTS (SELECT 1 FROM inventory WHERE products.product_id = inventory.product_id); |
В этом PostgreSQL примере NOT будут возвращены все записи из таблицы products, в которой нет записей из таблицы inventory для данного product_id)