SQLServer NOT
SQL Server NOT条件或NOT运算符用于否定SELECT,INSERT,UPDATE或DELETE语句中的条件。
语法:
参数说明
条件: 它指定要取反的条件。
没有IN条件的运算符
我们有一个表" Employees",其中包含以下数据:
示例
从满足以下" NOT"条件的表中检索所有员工:
SELECT *
FROM [lidihuo].[dbo].[Employees]
WHERE name NOT IN ('Mahesh', 'Mohan', 'Chitra');
输出:
具有IS NULL条件的NOT运算符
从表" Employees"中检索遵循IS NOT NULL条件的所有雇员:
SELECT *
FROM [lidihuo].[dbo].[Employees]
WHERE name IS NOT null;
输出:
具有LIKE条件的NOT运算符
从表" Employees"中检索遵循NOT LIKE条件的所有雇员。它只会显示不以" M"开头的名称。
SELECT *
FROM [lidihuo].[dbo].[Employees]
WHERE name NOT LIKE 'M%';
输出:
NOT运算符具有BETWEEN条件
从表" Employees"中检索所有雇员,其遵循以下条件。它不会显示ID在8到13之间的员工。
SELECT *
FROM [lidihuo].[dbo].[Employees]
WHERE id NOT BETWEEN 8 AND 13;
输出:
OR
SELECT *
FROM [lidihuo].[dbo].[Employees]
WHERE id < 8
OR id > 13;
输出:
具有EXISTS条件的NOT运算符
您还可以将SQL Server NOT条件与EXISTS条件组合。
OR条件:
SELECT *
FROM [lidihuo].[dbo].[Employees]
WHERE NOT EXISTS (SELECT *
FROM [lidihuo].[dbo].[Employee2]
WHERE Employees.name = Employee2.name
OR Employees.salary = Employee2.salary);
输出:
AND条件:
SELECT *
FROM [lidihuo].[dbo].[Employees]
WHERE NOT EXISTS (SELECT *
FROM [lidihuo].[dbo].[Employee2]
WHERE Employees.name = Employee2.name
AND Employees.salary = Employee2.salary);
输出:
此SQL Server NOT示例将从以下位置返回所有记录员工表中,在Employee2表中没有匹配名称和薪水的记录。