MySQL NOT操作符


MySQL NOT操作符(也称为NOT运算符)用于在SELECT,INSERT,UPDATE或DELETE语句中的否定特定的条件。

语法

MySQL中NOT操作符的语法为:

1
NOT condition
参数 说明
condition 要否定的条件。

MySQL NOT操作符示例

示例-NOT与IN一起使用

MySQL NOT操作符可以与IN 操作符结合使用。例如:

1
2
3
SELECT *
FROM contacts
WHERE first_name NOT IN ('Joseph','Andrew','Brad');

将返回contacts中除了名字是'Joseph','Andrew','Brad'的所有行

示例-NOT与IS NULL一起使用

MySQL NOT操作符也可以与IS NULL结合使用。
例如,

1
2
3
SELECT *
FROM contacts
WHERE first_name IS NOT NULL;

将从contacts表返回所有first_name不为NULL的记录。

示例-NOT与LIKE操作符结合使用

1
2
3
SELECT supplier_id, supplier_name
FROM suppliers
WHERE supplier_name NOT LIKE 'P%';

返回所有supplier_name不以P开头的记录。

示例-NOT与BETWEEN操作符结合使用

1
2
3
SELECT *
FROM orders
WHERE order_id NOT BETWEEN 300 AND 399;

返回order_id不在300-399之间的记录。 即小于300或者大于399的记录。

注意BETWEEN 300 AND 399 条件是包含300和399的

它等效于以下SELECT语句:

1
2
3
4
SELECT *
FROM orders
WHERE order_id < 300
OR order_id > 399;

示例-NOT结合EXISTS一起使用

MySQL NOT操作符也可以与EXISTS结合使用。表示查找不存在的记录。

例如,

1
2
3
4
5
SELECT *
FROM suppliers
WHERE NOT EXISTS (SELECT *
FROM products
WHERE suppliers.SupplierID = products.SupplierID);

查找没有提供产品的供应商名单。 (如果供应商没有提供产品,那么使用它的SupplierID去查找products表,记录就不存在。 符合我们的条件NOT EXISTS )


原文链接:https://codingdict.com/