美文网首页
Mysql 的 where 语法使用(三)

Mysql 的 where 语法使用(三)

作者: 改昵称已被占用 | 来源:发表于2020-04-10 23:50 被阅读0次
    timg.jpeg

    在 select 语句中,数据根据 where 子句中指定的搜索条件进行过滤。where 子句在表名( from 子句)之后给出

    where 的简单使用

    select * 
    from sc 
    where score = 80;
    

    此 sql 语句表示查询 sc 表中 score 字段等于 80 的所有信息,输出为:

    +------+------+-------+
    | SId  | CId  | score |
    +------+------+-------+
    | 01   | 01   |  80.0 |
    | 02   | 03   |  80.0 |
    | 03   | 01   |  80.0 |
    | 03   | 02   |  80.0 |
    | 03   | 03   |  80.0 |
    +------+------+-------+
    

    在同时使用 order by 和 where子句时,应该让 order by 位于 where 之后, 否则将会产生错误

    where 子句的操作符

    操作符 说明
    = 等于
    <> 不等于
    != 不等于
    < 小于
    <= 小于等于
    > 大于
    >= 大于等于
    between 介于指定值之间

    检查单个值

    select * 
    from sc
    where score < 60;
    

    此 sql 语句表示在 sc 表中查询满足 score 字段小于 60 的数据,输出为:

    +------+------+-------+
    | SId  | CId  | score |
    +------+------+-------+
    | 01   | 02   |  40.0 |
    | 04   | 02   |  59.0 |
    | 04   | 03   |  59.0 |
    | 06   | 01   |  31.0 |
    | 06   | 03   |  34.0 |
    +------+------+-------+
    

    不匹配检查

    select * 
    from sc
    where sid <> 2;
    

    此 sql 语句表示查询 sc 表中 sid 字段不等于 2 的数据,语句中的 <> 操作符等同于 !=,输出为:

    +------+------+-------+
    | SId  | CId  | score |
    +------+------+-------+
    | 01   | 01   |  80.0 |
    | 01   | 02   |  40.0 |
    | 01   | 03   |  99.0 |
    | 03   | 01   |  80.0 |
    | 03   | 02   |  80.0 |
    | 03   | 03   |  80.0 |
    | 04   | 01   |  72.0 |
    | 04   | 02   |  59.0 |
    | 04   | 03   |  59.0 |
    | 05   | 01   |  76.0 |
    | 05   | 02   |  87.0 |
    | 06   | 01   |  31.0 |
    | 06   | 03   |  34.0 |
    | 07   | 02   |  89.0 |
    | 07   | 03   |  98.0 |
    +------+------+-------+
    

    范围值检查

    select * 
    from sc
    where score between 60 and 100;
    

    此 sql 语句表示查询 sc 表中 score 字段在 60 ~ 100 之间的数据,输出为:

    +------+------+-------+
    | SId  | CId  | score |
    +------+------+-------+
    | 01   | 01   |  80.0 |
    | 01   | 03   |  99.0 |
    | 02   | 01   |  70.0 |
    | 02   | 02   |  60.0 |
    | 02   | 03   |  80.0 |
    | 03   | 01   |  80.0 |
    | 03   | 02   |  80.0 |
    | 03   | 03   |  80.0 |
    | 04   | 01   |  72.0 |
    | 05   | 01   |  76.0 |
    | 05   | 02   |  87.0 |
    | 07   | 02   |  89.0 |
    | 07   | 03   |  98.0 |
    

    其语法与其他 where 子句的操作符稍有不同,因为它需要两个值,即范围的开始值和结束值,这两个值必须用 and 关键字分隔

    空值检查

    select *
    from sc
    where score is null;
    

    此 sql 表示查询 sc 表中 score 值为空值的数据,输出为(因为此表中 score 字段没有空值的数据,所以查询结果为 Empty set):

    Empty set (0.00 sec)
    

    相关文章

      网友评论

          本文标题:Mysql 的 where 语法使用(三)

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