MySQL-WHERE搜索数据

我们在使用数据库提取数据的时候一般都不会整行都需要,往往是提取符合条件的子集数据。因此有必要增加一个搜索条件来精确查找我们需要的数据。WHERE将会帮助我们搜索数据.

#我们先来看一下由产品名称和价格组成的数据
SELECT prod_name, prod_price
FROM products

这里写图片描述

如果我现在想要买名为Fuses的产品,我想快速知道它的价格,我们可以

SELECT prod_name, prod_price
FROM products
WHERE prod_name = 'Fuses';

这里写图片描述

如果我想购买的价位在10~35之间的,哪些商品符合我的条件呢?

SELECT prod_name, prod_price
FROM products
WHERE prod_price BETWEEN 10 AND 35;

这里写图片描述

格式:BETWEEN 开始值 AND 结束值;
开始值和结束值都包含在内,是闭区间!

当然,还有一个特别的要求,比如说我作为老板,想看看哪个产品的价格忘了填写,即NULL值,这是我们可以这样写

SELECT prod_name, prod_price
FROM products
WHERE prod_price IS NULL;

由于所给的表中的价格都填好了,因此就不给出图片了。

可以使用的操作符有:

操作符说明
=等于
!=不等于
>大于
.>=大于等于
<小于
<=小于等于
BETWEEN范围取值

注:上面>=的点要去掉,此处加点是因为博客MARKDOWN编辑的问题

使用AND,OR,IN,NOT来进行多条件过滤

上面我们用WHERE都是过滤单个条件,如果我们的条件有多个的话就用AND,OR,IN,NOT来过滤

AND

我们先看下由供应商,产品名,产品价格组成的表

这里写图片描述

现在我只想看供应商为1003的产品,并且价格不要超过30

SELECT vend_id, prod_name, prod_price
FROM products
WHERE vend_id = 1003 AND prod_price <=30;

这里写图片描述

OR 和 IN

如果我想要看供应商为1002和1003的产品

SELECT vend_id, prod_name, prod_price
FROM products
WHERE vend_id = 1002 OR vend_id = 1003;

或者

SELECT vend_id, prod_name, prod_price
FROM prodcuts
WHERE vend_id IN (1002, 1003);

这里写图片描述

NOT

如果我不想看供应商是1002和1003的产品

SELECT vend_id, prod_name, prod_price
FROM products
WHERE vend_id NOT IN (1002, 1003);

这里写图片描述

注意:vend_id = 1002 OR vend_id = 1003 AND prod_price<=30;
以上语句意为:想要供应商为1003的且价格不超过30的产品,或者供应商为1002的所有产品。

操作符之间也是有次序的,AND 比 OR高。不过不用记,只要加括号就可以了,要养成加括号的习惯。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值