美文网首页产品经理互联网产品思考0岁的产品经理
产品操作MySQL第6篇 – 数据过滤-WHERE子句

产品操作MySQL第6篇 – 数据过滤-WHERE子句

作者: 杨呀 | 来源:发表于2019-04-29 17:11 被阅读2次
    MYSQL

    本资料为产品岗位作为日常工作参考,语言口语化

    At 2019/4/26 By David.Yang

    如何使用限定条件来进行数据过滤?

    在前问当中,我们已经学会到了SELECT查询,

    在过程当中多次接触了WHERE这个关键词,打过预防针应该知道他就是用来做数据查询的过滤使用的。

    如果没有他,我们将获取所有有限行内的数据,

    这会给我们的查询结果带来麻烦,因为返回的结果集当中包含了我们不需要的很多数据。

    比如考试成绩表,你想告诉杨过他妈穆念慈,你儿子杨过最近学习不太好啊,

    你看看这考试成绩,挂的红灯笼都能把学校点没了,

    这时候,你给他妈看6年前杨过上幼儿园的考试成绩,还有说服力么?

    没有,限定的时间比如半年内,就是一个时间维度的查询条件,

    学生 = 杨过,就是一个指定的学生查询条件。

    如果没有条件限制,别说杨过半年的成绩单,就连杨过你都找不到。

    他妈不得说你啊。

    所以,WHERE是干嘛的?

    WHERE是用来根据指定的条件,返回满足指定条件记录行的子句。

    语法:

    SELECT DISTINCT

        column[,column...]

    FROM

        table_name

    WHERE

    where_conditions;

    WHERE就是我们的查询条件

    WHERE子句演示

    我们构造一张学生考试表,当中包含了关键字段,

    学生id、分数、考试时间等

    然后补进一些测试数据。

    (请记得我们前文曾接触过的批量插入数据语句)

    我们获得测试数据如下

    mysql>select* from tests;

    黄老邪的弹指神通天下一绝,这么牛逼的老师,教的课怎么样呢?

    课程弹指神通的课程id是1,他偷偷去考试表查了查学生的成绩,

    黄老邪一句SQL猛操作

    SQL

    SELECT *

    FROM

           tests

    WHERE

           deleted = 0

    LIMIT 10;

    黄老邪定睛一看

    这就的到了所有学生的考试信息了。

    逻辑运算符

    黄老邪其实不关心学生们的蛤蟆功、一阳指学的怎么样,

    他只关心自己教的弹指神通(cuouse no = 1)

    这时候我们可以对WHERE条件进行稍稍复杂化一点,

    我们可以将多个表达式或逻辑运算符(AND OR)组合在一起形成一个复杂化的查询条件。

    黄老邪是这么干的,他只想看自己的课程下学生的考试成绩,

    SQL

    SELECT *

    FROM

    tests

    WHERE

    deleted = 0

    AND

    courseno = 1

    LIMIT 100;

    比较运算符

    在WHERE子句当中,出了=,我们还可以使用其他的比较运算符,

    例如以下:

    比如

    黄老师想看看哪些小王八蛋弹指神通没好好学,不及格的

    黄老邪这么做

    SQL

    SELECT *

    FROM

           tests

    WHERE

           deleted = 0

    AND

           courseno = 1

    AND

           score <=60

    LIMIT 100;

    这些比较运算符可以用在SELECT UPDATE DELETE的WHERE子句当中,

    都是作为过滤条件的运算操作使用。

    更多过滤条件

    我们了解了在WHERE子句中可以使用AND进行条件的逻辑组装,

    在面对更多更复杂的过滤条件是,我们还有类似其他

    BETWEEN 在一个范围内进行条件过滤

    LIKE 基于匹配模式的条件过滤

    IN 在一个list中进行命中过滤

    IS NULL 是否为NULL

    本篇完成后,你可以通过WHERE子句进行条件过滤,当然是SELECT,

    不管UPDATE,还是DELETE都可以适用WHERE子句过滤,后面篇章将讲解。

    相关文章

      网友评论

        本文标题:产品操作MySQL第6篇 – 数据过滤-WHERE子句

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