MySQL NOT IN 运算符

MySQL NOT IN 运算符用于将表达式与值进行比较。SELECT 语句选择与 NOT IN 表达式中的值不匹配的记录。

NOT IN 运算符与 IN 运算符完全相反。您可以将其称为 NOT (Expression IN (Values)),其语法如下:

SELECT Columns
FROM Tables
WHERE Column_Name NOT IN (Value1,...., ValueN)

为了演示,我们使用如下数据:

MySQL NOT IN 运算符示例

在此示例中,我们检查数值和字符串数据是否存在。如果不存在,则返回 1,否则返回 0。

SELECT 4 NOT IN (2, 4, 6, 8, 10);

SELECT 4 NOT IN (2, 6, 8, 10);

SELECT 'abc' NOT IN ('xyz', 'ab', 'hi');
Simple Example 1

NOT IN 示例 2

以下 Not in 查询 SELECT 了收入不在 50000 或 60000 范围内的客户。

SELECT EmpID, 
       `First Name`,
       `Last Name`,
       Qualification,
       Occupation,
       Income,
       Sales,
       HireDate
 FROM customer
 WHERE Income NOT IN (50000, 60000);
Not in operator Example 2

MySQL NOT IN 字符串运算符示例 3

这次,我们在 NOT IN 中使用了字符串数据。此 查询 查找职业不是文员或专业人员的客户。

SELECT EmpID, 
       `First Name`,
       `Last Name`,
       Qualification,
       Occupation,
       Income,
       Sales,
       HireDate
 FROM customer
 WHERE Occupation NOT IN ('Clerical', 'Professional');
NOT IN String Example 3

此查询返回职业不是文员、专业人员或技术 manual 的客户。您也可以将 ORDER BY 子句 与此 Not In 运算符一起使用。请参阅 IN 示例 文章。

SELECT EmpID, 
       `First Name`,
       `Last Name`,
       Qualification,
       Occupation,
       Income,
       Sales,
       HireDate
 FROM customer
 WHERE Occupation NOT IN ('Clerical', 'Professional', 'Skilled Manual');
NOT IN Operator 4