Where子句中的NOT操作符有且只有一个功能,那就是否定它之后所跟的任何条件。因为NOT从不自己使用(它总是与其他操作符一起使用),它的语法与其他操作符有所不同。与其他操作符不一样,NOT可以用在要过滤的列前,而不仅是在其后。
500)this.width=500}" height=32 alt="" hspace=12 src="/upload/old/allimg/101019/12594C310-0.jpg" width=38 align=left>NOT Where子句中用来否定后跟条件的关键字。
下面的例子说明NOT的使用。为了列出除DLL01之外的所有供应商制造的产品,可编写如下的代码:
500)this.width=500}" height=24 alt="" hspace=12 src="/upload/old/allimg/101019/1259463544-1.gif" width=46 align=left>500)this.width=500}" height=53 alt="" src="/upload/old/allimg/101019/1259461T4-2.jpg" width=166>
500)this.width=500}" height=24 alt="" hspace=12 src="/upload/old/allimg/101019/12594A104-3.gif" width=46 align=left>500)this.width=500}" height=22 alt="" src="/upload/old/allimg/101019/12594BV4-4.jpg" width=166>
500)this.width=500}" height=63 alt="" src="/upload/old/allimg/101019/1259463421-5.jpg" width=166>
500)this.width=500}" height=24 alt="" hspace=12 src="/upload/old/allimg/101019/12594A528-6.gif" width=46 align=left>这里的NOT否定跟在它之后的条件;因此,DBMS不是匹配vend_id为DLL01,而是匹配非DLL01之外的其他所有东西。
前面的例子也可以使用<>操作符来完成,如下所示:
500)this.width=500}" height=24 alt="" hspace=12 src="/upload/old/allimg/101019/1259463544-1.gif" width=46 align=left>500)this.width=500}" height=49 alt="" src="/upload/old/allimg/101019/12594AI3-8.jpg" width=148>
500)this.width=500}" height=24 alt="" hspace=12 src="/upload/old/allimg/101019/12594A104-3.gif" width=46 align=left>500)this.width=500}" height=88 alt="" src="/upload/old/allimg/101019/1259463561-10.jpg" width=108>
500)this.width=500}" height=24 alt="" hspace=12 src="/upload/old/allimg/101019/12594A528-6.gif" width=46 align=left>为什么使用NOT?对于这里的这种简单的Where子句,使用NOT确实没有什么优势。但在更复杂的子句中,NOT是非常有用的。例如,在与IN操作符联合使用时,NOT使找出与条件列表不匹配的行非常简单。
500)this.width=500}" height=36 alt="" src="/upload/old/allimg/101019/12594BE6-12.jpg" width=34> |
MySQL中的NOT MySQL不支持这里描述的NOT的格式。在MySQL中,NOT只用来否定EXISTS(如NOT EXISTS)。 |