SQL 入门教程:NOT 操作符

本文内容

目录汇总:SQL 零基础入门教程

WHERE 子句中的 NOT 操作符有且只有一个功能,那就是否定其后所跟的任何条件。因为 NOT 从不单独使用(它总是与其他操作符一起使用),所以它的语法与其他操作符有所不同。NOT 关键字可以用在要过滤的列前,而不仅是在其后。

NOT

WHERE 子句中用来否定其后条件的关键字。

下面的例子说明 NOT 的用法。为了列出除 DLL01 之外的所有供应商制造的产品,可编写如下的代码。

输入▼

1
2
3
4
SELECT prod_name
FROM Products
WHERE NOT vend_id = 'DLL01'
ORDER BY prod_name;

输出▼

prod_name
------------------
12 inch teddy bear
18 inch teddy bear
8 inch teddy bear
King doll
Queen doll

分析▼

这里的 NOT 否定跟在其后的条件,因此,DBMS 不是匹配 vend_id 为 DLL01,而是匹配非 DLL01 之外的所有东西。

上面的例子也可以使用 <> 操作符来完成,如下所示。

输入▼

1
2
3
4
SELECT prod_name
FROM Products
WHERE vend_id  <> 'DLL01'
ORDER BY prod_name;

输出▼

prod_name
------------------
12 inch teddy bear
18 inch teddy bear
8 inch teddy bear
King doll
Queen doll

分析▼

为什么使用 NOT?对于这里的这种简单的 WHERE 子句,使用 NOT 确实没有什么优势。但在更复杂的子句中,NOT 是非常有用的。例如,在与 IN 操作符联合使用时,NOT 可以非常简单地找出与条件列表不匹配的行。

说明:MariaDB 中的 NOT

MariaDB 支持使用 NOT 否定 INBETWEENEXISTS 子句。大多数 DBMS 允许使用 NOT 否定任何条件。

请参阅#

(完)

comments powered by Disqus

本文内容