SQL 过滤数据(使用WHERE子句)

只检索所需要数据需要指定搜索条件,搜索条件也称为过滤条件。

在SELECT语句中,数据根据WHERE子句中指定的搜索条件进行过滤,即WHERE 子句用于过滤记录,也就是WHERE 子句用于提取那些满足指定标准的记录。

WHERE子句在表名(FROM子句)之后给出。

WHERE子句不仅用于SELECT语法,还用于UPDATE,DELETE语法等! 

WHERE子句的使用

WHERE子句支持:一个或多个值检查、模糊检查、不匹配检查、范围检查、空值检查、逻辑运算等等。

命令:

SELECT 列名 FROM 表名 WHERE 条件语句;

注意:在同时使用ORDER BY 和 WHERE子句时,应该让ORDER BY位于WHERE之后,否则会产生错误。

SQL过滤与应用过滤

        数据也可以在应用层过滤。为此目的,SQL的SELECT语句为客户机应用检索出超过实际所需的数据,然后客户机对返回数据进行循环,以提取出需要的行。

        通常这种实现并不令人满意,因此,对数据库进行了优化,以便快速有效地对数据进行过滤,让客户机应用(或开发语言)处理数据库的工作将会极大影响应用的性能,并且使所常见的应用完全不具备可伸缩性,此外,如果客户机上过滤数据,服务器不得不通过网络发送多余的数据,这将会导致网络带宽的浪费

WHERE子句操作符

运算符描述
=等于
<>或!=不等于。注释:在 SQL 的一些版本中,该操作符可被写成 !=
>大于
<小于
>=大于等于
<=小于等于
BETWEEN在某个范围内
LIKE搜索某种模式
IN指定针对某个列的多个可能值

注意:

1、SQL 语句使用单引号来限定字符串(大部分数据库系统也接受双引号)。

2、如果是数值,请不要使用引号。 

3、如果将值与串类型的列进行比较,则需要限定引号。

空值检查

在创建表时,表设计人员可以指定其中的列是否可以不包含值,在一个列中不包含值时,称其为包含空值(NULL)。

注意:NULL(无值)它与字段包含0、空字符串或仅仅包含空格不同,并且含有NULL的数学运算,最终的结果都是NULL。

SQL语句用WHERE子句检查具有NULL值的数据时使用 IS NULL子句

命令:

SELECT * FROM 表名 WHERE 列名 IS NULL;

NULL与不匹配

在通过过滤选择出不具有特定值的行时,可能希望返回具有NULL值的行。但是,这样不可以,因为未知具有特殊的含义,数据库不知道他们是否匹配,所以在匹配过滤或不匹配过滤时不返回他们。 因此,在过滤数据时,一定要验证返回数据中确实给出了被过滤列具有NULL的行。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值