![MariaDB必知必会](https://wfqqreader-1252317822.image.myqcloud.com/cover/943/34339943/b_34339943.jpg)
上QQ阅读APP看书,第一时间看更新
7.3 NOT操作符
WHERE子句的NOT操作符有且仅有一个功能——否定接下来的任何条件。
新术语
NOT 用来否定条件的WHERE子句中的一个关键字。
下面的例子演示了NOT的用法。列出除了供应商1002和1003所生产的所有产品,你可以这样使用:
▼ 输入
![](https://epubservercos.yuewen.com/AE5E39/18365861508119506/epubprivate/OEBPS/Images/41-i.jpg?sign=1739503678-qfDVvj1pfpygihsmtMXObL0cltbQI5BI-0-1ecf2b7c53a9d1e23be817757bca0cb0)
▼ 输出
![](https://epubservercos.yuewen.com/AE5E39/18365861508119506/epubprivate/OEBPS/Images/41a-i.jpg?sign=1739503678-uH0dbijDF5vYnKxBLpRjGh0BX9ypoWUu-0-825deb273f132d8a9165177698429fdb)
▼ 分析
这里的NOT否定了接下来的条件;因此MariaDB没有匹配vend_id为1002或1003,而是匹配任何vend_id不是1002或者1003的值。
为何要使用NOT呢?对于简单的WHERE子句,使用NOT实际上没有任何优势。NOT在复杂的子句中却很有用。例如,结合使用IN操作符和NOT让搜索不匹配一系列值的所有行变得简单。
注意
MariaDB中的NOT MariaDB支持对IN、BETWEEN和EXISTS语句使用NOT。这与许多其他DBMS允许NOT否定任何条件不同。