В этом учебном пособии вы узнаете, как использовать условие NOT в SQL Server (Transact-SQL) с синтаксисом и примерами.
Описание
Условие NOT SQL Server (Transact-SQL), также называемое оператором NOT, используется для отрицания условия в операторе SELECT, INSERT, UPDATE или DELETE.
Синтаксис
Синтаксис условия NOT в SQL Server (Transact-SQL):
Параметры или аргументы
condition - условие отрицания.
Примечание
- Условие SQL Server NOT требует, чтобы для записи была включена противоположность условия, которое должно быть включено в результирующий набор.
Пример объединения с условием IN
Условие SQL Server NOT может быть объединено с условием IN.
Например:
1 2 3 |
SELECT * FROM employees WHERE first_name NOT IN ('Зульфия', 'Захра', 'Гюльчатай'); |
Этот пример SQL Server NOT вернет все строки из таблицы employee, где first_name не является 'Зульфия', 'Захра' или 'Гюльчатай'. Иногда более эффективно перечислять значения, которые вы не хотите получить, в отличие от желаемых значений.
Пример объединения с условием IS NULL.
Условие SQL Server NOT также может быть объединено с условием IS NULL.
Например:
1 2 3 |
SELECT * FROM employees WHERE last_name IS NOT NULL; |
Этот пример SQL Server NOT возвращает все записи из таблицы employees, где last_name не содержит значения NULL.
Пример объединения с условием LIKE
Условие SQL Server NOT также может быть объединено с условием LIKE.
Например:
1 2 3 |
SELECT employee_id, last_name, first_name FROM employees WHERE last_name NOT LIKE 'Г%'; |
Поместив SQL Server оператор NOT перед условием LIKE, вы можете получить всех employees, имя которых не начинается с символа «Г».
Пример объединения с условием BETWEEN.
Условие SQL Server NOT также может быть объединено с условием BETWEEN. Ниже приведен пример того, как бы вы объединили оператор NOT с условием BETWEEN.
Например:
1 2 3 |
SELECT * FROM employees WHERE employee_id NOT BETWEEN 200 AND 250; |
Этот пример SQL Server NOT вернет все строки из таблицы employees (сотрудников), где employee_id не был между 200 и 250, включительно. Это будет эквивалентно следующему оператору SQL Server SELECT:
1 2 3 4 |
SELECT * FROM employees WHERE employee_id < 200 OR employee_id > 250; |
Пример объединения с условием EXISTS
Условие SQL Server NOT также может быть объединено с условием EXISTS.
Например:
1 2 3 4 5 6 |
SELECT * FROM employees WHERE NOT EXISTS (SELECT * FROM contacts WHERE employees.last_name = contacts.last_name AND employees.first_name = contacts.first_name); |
Этот пример SQL Server NOT вернет все записи из таблицы employees (сотрудников), в которых нет записей в таблице contacts (контактов) при сопоставления last_name и first_name.