• MySQL_2_过滤数据


    WHERE 子句允许根据指定的过滤表达式或条件来指定要选择的行。

    注:即是WHERE 子句出现在语句的末尾,但MySQL会首先使用 WHERE 子句中的表达式来选择匹配的行。

      1) 与逻辑运算符(AND,OR 等)组合使用;

      2) 与比较运算符组合使用形成过滤表达式:等于(=)、不等于(<> 或 !=)、小于(<)、大于(>)、小于或等于(<=)、大于或等于(>=);

      3) 与 BETWEEN 组合使用,选择在给定范围之内的值;

      4) 与 LIKE 组合使用,匹配基于模式匹配的值;

      5) 与 IN 组合使用,指定值是否匹配表中的任何值;

      6) IS NULL 检查该值是否为 NULL; 

    1.AND运算符

      1) 介绍如何使用 AND 运算符以组合布尔表达式以形成用于过滤数据的复杂条件。

      2) AND 运算符组合 true, false ,和 null 结果:true + null = null,false + null = false。

      3) 在MySQL中,0被认为是false,非0被认为是true;

    2.OR运算符

      1) MySQL 使用 OR 运算符进行短路评估(求值计算)。

      2) 运算符优先级:MySQL 会在 AND 运算符之后再对 OR 运算符进行求值,如果想先计算 OR 表达式的值,可加括号;

    3. IN 操作符

      1) 确定指定的值是否与列表中的值或子查询中的任何值匹配(列表中的值需要用逗号分隔);

      3) 举例,IN 操作符与 OR 运算符的使用

    SELECT 
        officeCode , city , phone
    FROM
        offices
    WHERE
        country IN ('USA' , 'France');
    SELECT 
        officeCode  , city , phone
     FROM
        offices
    WHERE
        country = 'USA' OR country = 'France';

    4. BETWEEN 运算符

    expr [NOT] BETWEEN begin_expr AND end_expr;

      1) expr , begin_expr  和 end_expr 必须具有相同的数据类型;

      2) 如果任何表达式为 NULL ,则 BETWEEN 运算符返回 NULL 值;

      3) 可以用 >= 和 <= 运算符来实现相同的结果;

      4) BETWEEN 和日期类型数据一起使用,(如:BETWEEN CAST('2013-01-01' AS DATE) AND CAST('2013-01-31' AS DATE););

    5. LIKE 操作符

      常用于 WHERE 子句中,MySQL 提供两个通配符,用于与 LIKE 一起使用:百分比符号% 和 下划线 _;

      1) 百分比(%)通配符允许匹配任何字符串的零个或多个字符;

    假设要搜索名字以字符a开头的员工信息,可以在模式末尾使用百分比通配符(),如下所示:

    SELECT
        employeeNumber , lastName , firstName
    FROM 
         employees
    WHERE
        firstName LIKE 'a%';

    注:若要搜索名字以字符a开头的员工信息,可使用:WHERE firstName LIKE '%a';

      若要搜索名字包含字符a的员工信息,可使用:WHERE firstName LIKE '%a%';

      MySQL允许将NOT运算符与LIKE运算符组合,以找到不匹配特定模式的字符串。

      2) 下划线(_)通配符允许匹配任何单个字符;

      3) MySQL 与 ESCAPE子句:想要匹配的模式包含通配符,可使用 ESCAPE 子句指定转义字符,以便 MySQL 将通配符解释为文字字符,反斜杠()默认为转义字符。 

      如下语句,将查询productCode字段中包含_20字符串的值:

    SELECT 
        productCode , productName
    FROM
        products
    WHERE
        productCode LIKE '%\_20%';

    6. LIMIT 子句

      用于约束结果集中的行数。LIMIT 子句接受一个或两个参数,两个参数必须为零或正整数。

    SELECT 
        column_1 , column_2 , ...
    FROM
        table
    LIMIT offset , count;

      offset 参数指定要返回的第一行的偏移量。第一行偏移量为0,而不是1.

      count 指定要返回的最大行数。

      1) 获取前N行:LIMIT N;

    SELECT customernumber, customername, creditlimit FROM customers LIMIT 5;  

      2) 获取最高值和最低值,只需要在 LIMIT 前加一行:ORDER BY 子句

    SELECT customernumber, customername, creditlimit
    FROM customers
    ORDER BY creditlimit DESC
    LIMIT 5;

    注:最低值用ASC

      3) 获得第 n 个最高值  ORDER BY creditlimit DESC LIMIT  nth-1 , count;

    7. IS NULL 操作符

      value is NULL ,如果值为 NULL 则返回 true;否则返回 false 。

    注:MySQL 没有 内置的 BOOLEAN 类型,它使用 TINYINT(1)  来表示 BOOLEAN 值,即 1 表示 true , 0 表示 false。

      

      

  • 相关阅读:
    ios app 开发中ipa重新签名步骤介绍-备
    推荐IOS开发3个工具:Homebrew、TestFight、Crashlytics-b
    iOS开发工具——统计Crash的工具Crashlytics-备用
    摘要算法
    Xcode中将图片放入Images.xcassets和直接拖入的区别
    PHP面向对象的基本写法(区别于java)
    PHP 解决时差8小时的问题
    Java-Hirbernate小结大纲
    PHP替换数据库的换行符
    Java-strurs总结
  • 原文地址:https://www.cnblogs.com/mumu1408/p/9790715.html
Copyright © 2020-2023  润新知