MySQL必知必会2

过滤数据

一、使用where子句

当根据特定条件搜索数据时,只需要指定特定条件即过滤条件。

在这里插入图片描述

这个例子从表中检索所有prod_price=2.50的列。

二、where子句操作符

where的操作符有等于(=)、不等于(<>、!=)、小于(<)、小于等于(<=)、大于(>)、大于等于(>=)、在指定的两个值之间(BETWEEN…AND…)

1.检索单个值

在这里插入图片描述

这个例子就是返回了prod_name = ’fuses‘的一列,而且mysql不区分大小写,所以Fuses也可。

在这里插入图片描述

这个例子检索所有prod_price小于10的列。

2.不匹配检查

当我们不想检索某个值时,可以使用不等符号。

在这里插入图片描述

这个例子检索所有vend_id不等于1003的列,并且只显示prod_name和prod_price.

<>和 != 是等价的,所以WHERE vend_id != 1003;也可。

3.范围值检查

查询某个范围的值,可以使用between操作符,但这个需要两个范围值。

在这里插入图片描述

这个例子就检索prod_price为5到10之间的列。(包含5和10)

4.空值检查

如果某个数据是空,例如有些人不想想显示自己的体重,就可以设置为空,where子句就有一个专门检查空值的操作符。

在这里插入图片描述

这个例子就检索出了cust_email为空的列。

数据过滤

一、组合WHERE子句

上一部分的where子句都是单一使用,但可以组合使用where子句。

1.AND操作符

表示检索同时满足多个条件的列。

在这里插入图片描述

这个例子检索所有vend_id = 1003,并且prod_price <= 10的列,AND 表示这两个条件要同时满足。

2.OR操作符

表示检索满足任一条件的列。

在这里插入图片描述

这个例子检索所有vend_id = 1002 或者 vend_id = 1003的列, 如果使用and则没有数据返回。

3.计算次序

当组合and和or操作符时,会出现一个有趣的问题。

例如我们想要检索所有 vend_id = 1002, 或者vend_id = 1003, 并且prod_price >= 10。

如下:

在这里插入图片描述

但这个检索却有prod_price小于10的列,这是因为mysql在处理and和or操作符时会优先处理and,

这个检索就变成了(vend_id = 1003并且prod_price >= 10)的列或者(vend_id = 1002)的所有列。

如果想得到我们想要的列,可以使用括号来改变检索次序。

在这里插入图片描述

二、IN操作符

圆括号还有另一种用法,IN操作符指定条件范围,范围中的每个条件都可以进行匹配。

在这里插入图片描述

这个例子就检索了,vend_id等于1002或者等于1003的列,这和WHERE vend_id = 1002 OR

vend_id = 1003;等价。

三、NOT操作符

where子句中的not操作符就是否定后面跟的条件。

在这里插入图片描述

这个例子就否定了后面跟的条件,检索所有vend_id不等于1002或不等于1003的列。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值