【MySQL】过滤数据

每日鸡汤 —— 爱你的人已星夜兼程走在来路

前言:

  1. 本实验中所用数据库创建SQL语句以及插入数据到数据库中的SQL语句链接:https://pan.baidu.com/s/1hvcR13JJqx_0VXA3bz3rgQ
    提取码:2333
  2. 书接上回说到,排序检索数据~~~

1. where 字句的使用

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

示例: 选出价格为 3.49 的商品

select prod_name , prod_price
from Products
where prod_price = 3.49;

注意: order by 语句与 where 语句同时出现时,order by 要在where 字句后。(order by 字句的位置一定是 select 语句的最后一条字句)

示例:选出在 3~6 元之间的产品名和价格,并按价格排序

select prod_name, prod_price
from Products
where prod_price between 3 and 6
order by prod_price;

2. where 字句操作符

where 字句具有如下操作符 = 、< 、 > 、!= 、 <= 、 >= 、!< 、 !> 、between 、is null 等

2.1 检查单个值

示例:

select prod_name, prod_price
from Products
where prod_price < 10;

2.2 不匹配检查

示例:

select vend_id , prod_name
from Products
where vend_id != 'DLL01';

2.3 范围值检查

使用 between 运算符可以检索某个范围的值,它需要两个值表示一个范围。

示例:

select prod_name, prod_price
from Products
where prod_price between 5 and 10;

2.4 空值检查

示例:

select prod_name, prod_price
from Products
where prod_price is null;

3. 扩展:

1. SQL 过滤 与 应用过滤

数据也可以在应用层进行过滤,即 select 语句返回所有数据,客户端代码对返回数据进行筛选,提取出自己需要的行。但是应用过滤具有以下缺点:

  • 影响应用性能
  • 所创建的应用不具备伸缩性
  • 服务器通过网络发送很多多余数据,浪费网络带宽

2. 引号的使用

当 where 字句筛选条件为 字符串时,需要用 引号限定字符串,用单引号和双引号都可以。而当筛选条件为数值时,不需要用引号。

3. NULL 的特殊性

当我们通过 where 字句选择不包含指定值的行时,有时候我们希望返回 NULL 值的行,但是这不能实现。NULL 值比较特殊,进行匹配过滤和非匹配过滤时,都不会返回 NULL 值结果

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值