Mysql第六章 - 过滤数据WHERE

数据库中一般包含大量的数据,很少需要检索表中所有行,通常只根据特定操作或报告的需要提起数据的子集。只检索所需数据需要指定搜索条件,搜索条件也称为过滤条件在SELECT语句中,数据根据WHERE子句中指定搜索条件进行过滤。

举例:查询指定年龄
输入:SELECT * FROM student s WHERE s.age =13
输出:


image.png

注释:

数据也可以在应用层过滤。为此目的,SQL的SELECT语句为客户机应用检索出超过实际所需的数据,然后客户机代码对返回数据进行循环,以提取出需要的行
存在缺陷:
1,让客户机应用(或开发语言)处理数据库的工作将会极大地影响应用的性能,并且使所创建的应用完全不具备可伸缩性。
2,如果在客户机上过滤数据,服务器不得不通过网络发送多余的数据,这将导致网络带宽的浪费。

WHERE 子句操作符
子句操作符.png
等于

输入:

SELECT * FROM student s WHERE s.name ='王一'

分析:检查 name中,返回相name 为“王一”的行
输出:

筛选结果.png

检测单个值

小于

输入:SELECT * FROM student s WHERE s.age <20
输出:


image.png
小于等于

输入:SELECT * FROM student s WHERE s.age <=19
输出:


image.png
大于

输入:SELECT * FROM student s WHERE s.age >15
输出:


image.png
大于等于

输入:SELECT * FROM student s WHERE s.age >=15
输出:


image.png

不匹配检查

不等于
  • <>
    输入:SELECT * FROM student s WHERE s.age <> 19
    输出:


    image.png
  • !=
    输入:SELECT * FROM student s WHERE s.age != 19
    输出:


    image.png

注释:

WHERE子句中,有的值括在单引号内。有的值未括起来。单引号用来限定字符串。如果将值与串类型的。
单引号用来限定字符串。如果将值与串类型的,列进行比较,则需要限定引。用来与数值列进行比较的值不用引号

范围检查

检查某个范围值,可使用BETWEEN操作符。

  • 举例,检查年龄15到19岁之间

输入:SELECT * FROM student s WHERE s.age BETWEEN 15 AND 19;
输出:


image.png

空值检查

检查具有NULL值的列

举例:获取表中,年龄为NULl的
输入:SELECT * FROM student s WHERE s.age IS NULL
输出:


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容