美文网首页
chapter07:数据过滤

chapter07:数据过滤

作者: WeirdoSu | 来源:发表于2017-12-18 16:07 被阅读0次

    组合WHERE子句以建立功能更强的更高级搜索条件。使用NOTIN操作符。

    组合WHERE子句

    • 操作符(operator):用来联结或改变WHERE子句中的子句的关键字。也称作逻辑操作符(logical operator)。

    AND操作符

    SELECT prod_id, prod_price, prod_name
    FROM products
    WHERE vend_id = 1003 AND prod_price <= 10;
    

    !:满足所有给定条件。

    OR操作符

    SELECT prod_name, prod_price
    FROM products
    WHERE vend_id = 1002 OR vend_id = 1003;
    

    !:检索匹配任一给定条件。

    计算次序

    WHERE可以包含任意数目的ANDOR操作符,但要注意:

    • SQL在处理OR操作符前优先处理AND操作符;
    • 圆括号()可以改变优先级,为了消除歧义最好所有情况都加圆括号,不依赖于默认。

    IN操作符

    IN操作符用来指定条件范围,取合法值的由逗号分隔的清单。

    SELECT prod_name, prod_price
    FROM products
    WHERE vend_id IN (1002,1003)
    ORDER BY prod_name;
    

    IN操作符实际和OR完成的效果一样,但IN的优点如下:

    • 在使用长的合法选项清单时IN操作符的语法更清楚直观;
    • 计算的次序更容易管理;
    • IN操作符一般比OR操作符执行更快;
    • IN的最大优点是可以包含其他SELECT语句,使得能够动态建立WHERE子句。

    NOT操作符

    否定NOT后所跟的任何条件。

    SELECT prod_name, prod_price
    FROM products
    WHERE vend_id NOT IN (1002,1003)
    ORDER BY prod_name;
    

    相关文章

      网友评论

          本文标题:chapter07:数据过滤

          本文链接:https://www.haomeiwen.com/subject/syemwxtx.html