sql两个表查不同数据_产品操作MySQL第6篇 – 数据过滤-WHERE子句

1bd75f3f3ac249596ebaaba463e3f48e.png

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、分数、考试时间等

1b6a7dd948bba22f9bc3ccd89fbb5b64.png

然后补进一些测试数据。

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

我们获得测试数据如下

mysql>select* from tests;

73f702e2821f7bcf622c24c28c7f166c.png

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

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

黄老邪一句SQL猛操作

SQL

SELECT *

FROM

tests

WHERE

deleted = 0

LIMIT 10;

黄老邪定睛一看

90e6d549e988beb4b6bfaee2242f95ce.png

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

逻辑运算符

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

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

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

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

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

SQL

SELECT *

FROM

tests

WHERE

deleted = 0

AND

courseno = 1

LIMIT 100;

13448d4339b706ab31befcf765674d18.png

比较运算符

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

例如以下:

6d98969b9f6595ddd52ca38241d49bca.png

比如

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

黄老邪这么做

SQL

SELECT *

FROM

tests

WHERE

deleted = 0

AND

courseno = 1

AND

score <=60

LIMIT 100;

a3488573d75818651d5a70e5ec9cedd9.png

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

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

更多过滤条件

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

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

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

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

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

IS NULL 是否为NULL

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值