本文概述
SQL Server NOT条件或NOT运算符用于取消SELECT, INSERT, UPDATE或DELETE语句中的条件。
句法:
NOT condition
参数说明
condition:它指定要否定的条件。
非条件为IN的运算符
我们有一个”雇员”表, 其中包含以下数据:
例子
从满足以下”否”条件的表中检索所有雇员:
SELECT *
FROM [srcmini].[dbo].[Employees]
WHERE name NOT IN ('Mahesh', 'Mohan', 'Chitra');
输出
条件为IS NULL的NOT运算符
从遵循IS NOT NULL条件的” Employees”表中检索所有雇员:
SELECT *
FROM [srcmini].[dbo].[Employees]
WHERE name IS NOT NULL;
输出
不符合条件的运算符
从符合”不喜欢”条件的表”雇员”中检索所有雇员。它只会显示不以” M”开头的名称。
SELECT *
FROM [srcmini].[dbo].[Employees]
WHERE name NOT LIKE 'M%';
输出
NOT运算符的条件为BETWEEN
从表” Employees”中检索所有雇员, 其遵循以下条件。它不会显示ID在8到13之间的员工。
SELECT *
FROM [srcmini].[dbo].[Employees]
WHERE id NOT BETWEEN 8 AND 13;
输出
Or
SELECT *
FROM [srcmini].[dbo].[Employees]
WHERE id < 8
OR id > 13;
输出
不存在条件的运算符
你还可以将SQL Server NOT条件与EXISTS条件结合使用。
或条件:
SELECT *
FROM [srcmini].[dbo].[Employees]
WHERE NOT EXISTS (SELECT *
FROM [srcmini].[dbo].[Employee2]
WHERE Employees.name = Employee2.name
OR Employees.salary = Employee2.salary);
输出
与条件:
SELECT *
FROM [srcmini].[dbo].[Employees]
WHERE NOT EXISTS (SELECT *
FROM [srcmini].[dbo].[Employee2]
WHERE Employees.name = Employee2.name
AND Employees.salary = Employee2.salary);
输出
此SQL Server NOT示例将从Employees表返回所有记录, 其中Employee2表中没有匹配名称和薪水的记录。
评论前必须登录!
注册