SQL NOT操作符

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

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

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

    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之外的所有东西。

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

    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否定IN、BETWEEN和EXISTS子句。大多数DBMS允许使用NOT否定任何条件。

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!

 

SQL教程