美文网首页
MySQL——数据过滤(高级)(四)

MySQL——数据过滤(高级)(四)

作者: 开心糖果的夏天 | 来源:发表于2017-06-15 21:46 被阅读30次

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

    MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

    MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。

    一、组合WHERE子句

    1.AND操作符

    下面的语句检索由供应商1003制造且价格小于等于10美元的所有产品的名称和价格。

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

    此语句的输出如下图所示:


    2.OR操作符

    OR操作符与AND操作符不同,它指示MySQL检索匹配任一条件的行。

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

    此语句的输出如下图所示:

    3.计算次序

    WHERE可包含任意数目的OR操作符与AND操作符。允许两者结合以进行复杂和高级的过滤。以下SQL语句选择由供应商1002或者1003制造的且价格都在10美元(含)以上的任何产品。

    SELECT prod_name,prod_price FROM products WHERE (vend_id=1002 OR vend_id=1003) AND prod_price>=10;
    

    此语句的输出如下图所示:

    二、IN操作符(与OR操作符功能相同)

    IN操作符用来指定条件范围,范围中的每个条件都可以进行匹配。IN取合法值的由逗号分隔的清单,全都括在圆括号中。下面的语句检索供应商1002和1003制造的所有产品。

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

    此语句的输出如下图所示:

    IN操作符优点:

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

    三、NOT操作符

    WHERE子句中的NOT操作符有且只有一个功能,那就是否定它之后所跟的任何条件。列出除了1002和1003之外的所有供应商制造的产品,可编写如下的代码:

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

    此语句的输出如下图所示:

    相关文章

      网友评论

          本文标题:MySQL——数据过滤(高级)(四)

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